  /* Reset & base - Updated to match homepage green theme */
  :root {
      --bg-1: linear-gradient(135deg, #f8f9f4 0%, #E8F5E9 100%);
      --accent-1: #064E3B;
      --accent-2: #4CAF50;
      --muted: #555;
      --surface: #ffffff;
      --success: #27ae60;
      --danger: #e74c3c;
      --glass: rgba(255, 255, 255, 0.6);
      --card-shadow: 0 8px 24px rgba(15, 15, 30, 0.06);
      --primary-green: #064E3B;
      --light-green: #A5D6A7;
      --lightest-green: #E8F5E9;
      --btn-green: #28a745;
      --btn-green-hover: #218838;
      --card-bg: #F9F7F3;
  }

  * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      /* font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial */
  }

  body {
      background: var(--bg-1);
      display: flex;
      justify-content: center;
      align-items: flex-start;
      color: #111827;
  }

  .app {
      width: 100%;
      max-width: var(--maxwidth);
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.95));
      box-shadow: var(--card-shadow);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      gap: 0;
  }

  /* Header */
  header.app-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1px 22px;
      height: 60px;
      background: linear-gradient(135deg, #A5D6A7, #E8F5E9);
      color: #064E3B;
  }

  .brand {
      display: flex;
      gap: 14px;
      align-items: center;
  }

  .brand img {
      height: 47px;
      border-radius: 8px;
      border: 2px solid rgba(255, 255, 255, 0.12);
      object-fit: cover
  }

  .brand h1 {
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.1px
  }

  .header-actions {
      display: flex;
      align-items: center;
      gap: 12px
  }

  .search {
      display: flex;
      align-items: center;
      background: white;
      padding: 8px 10px;
      border-radius: 999px;
      gap: 8px;
      min-width: 200px;
      border: 1px solid #064E3B;
  }

  .search input {
      border: none;
      background: transparent;
      color: #064E3B;
      outline: none;
      width: 140px;
  }

  .icon-btn {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(6, 78, 59, 0.08);
      cursor: pointer;
      border: 1px solid rgba(6, 78, 59, 0.15);
      position: relative;
      color: #064E3B;
  }

  .icon-btn:hover {
      transform: translateY(-3px);
      transition: 0.18s;
      background: rgba(6, 78, 59, 0.15);
  }

  .cart-badge {
      position: absolute;
      top: -4px;
      right: -4px;
      background: var(--danger);
      color: white;
      border-radius: 50%;
      width: 18px;
      height: 18px;
      font-size: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  /* layout */
  .main {
      display: flex;
      gap: 20px;
      padding: 22px;
  }

  /* Sidebar */
  .sidebar {
      width: 260px;
      min-width: 200px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(250, 250, 255, 0.95));
      border-radius: 12px;
      padding: 14px;
      box-shadow: 0 6px 20px rgba(10, 10, 20, 0.04);
      display: flex;
      flex-direction: column;
      gap: 12px;
      transition: all 0.28s;
      height: fit-content;
  }

  .sidebar.collapsed {
      width: 72px;
      padding: 12px 8px
  }

  .profile-brief {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px;
      border-radius: 10px;
      background: linear-gradient(90deg, #fff, #fbfdff);
      cursor: pointer;
      transition: transform 0.2s;
  }

  .profile-brief:hover {
      transform: scale(1.02);
  }

  .profile-brief img {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      border: 2px solid var(--accent-1);
      object-fit: cover
  }

  .profile-info {
      display: flex;
      flex-direction: column
  }

  .profile-info h4 {
      font-size: 15px;
      margin-bottom: 2px
  }

  .profile-info p {
      font-size: 12px;
      color: var(--muted)
  }

  .sidebar .nav {
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-top: 6px;
  }

  .nav .nav-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px;
      border-radius: 10px;
      cursor: pointer;
      color: #374151;
      transition: all .18s;
      user-select: none;
  }

  .nav .nav-item i {
      min-width: 18px;
      text-align: center;
      color: var(--accent-1)
  }

  .nav .nav-item:hover {
      background: rgba(6, 78, 59, 0.08);
      transform: translateY(-2px)
  }

  .nav .nav-item.active {
      background: linear-gradient(90deg, rgba(6, 78, 59, 0.12), rgba(165, 214, 167, 0.2));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6)
  }

  /* Content */
  .content {
      flex: 1;
      min-height: 480px;
      background: transparent;
      display: flex;
      flex-direction: column;
      gap: 18px;
  }

  .card {
      background: var(--surface);
      border-radius: 12px;
      padding: 18px;
      box-shadow: 0 6px 20px rgba(12, 12, 20, 0.03);
      border: 1px solid rgba(15, 15, 30, 0.03);
  }

  .section-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 12px;
  }

  .section-header h2 {
      font-size: 18px
  }

  .controls {
      display: flex;
      gap: 8px;
      align-items: center
  }

  /* Profile area */
  .profile-top {
      display: flex;
      gap: 16px;
      align-items: center;
      padding-bottom: 10px;
      border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
      position: relative;
  }

  .profile-top img {
      width: 92px;
      height: 92px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--accent-1);
      transition: transform 0.3s ease;
      cursor: pointer;
  }

  .profile-top img:hover {
      transform: scale(1.05);
  }

  .profile-details {
      flex: 1;
      text-align: left
  }

  .profile-details h3 {
      margin-bottom: 6px
  }

  .meta {
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 4px;
      display: flex;
      align-items: center;
      gap: 6px;
  }

  .meta i {
      color: var(--accent-1);
      font-size: 12px;
  }

  .photo-upload {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      margin-top: 12px;
  }

  .photo-upload input[type="file"] {
      display: none;
  }

  .photo-upload label {
      cursor: pointer;
      padding: 8px 16px;
      background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
      color: white;
      border-radius: 20px;
      transition: transform 0.2s;
      font-size: 13px;
  }

  .photo-upload label:hover {
      transform: translateY(-2px);
  }

  /* Modal Styles */
  .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      overflow: auto;
      background-color: rgba(0, 0, 0, 0.5);
      animation: fadeIn 0.3s;
  }

  .modal-content {
      background-color: #fefefe;
      margin: 5% auto;
      padding: 0;
      border: none;
      width: 90%;
      max-width: 500px;
      border-radius: 16px;
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
      position: relative;
      animation: slideIn 0.3s ease;
  }

  .modal-header {
      padding: 20px;
      border-radius: 16px 16px 0 0;
      background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
      color: white;
      display: flex;
      justify-content: space-between;
      align-items: center;
  }

  .close {
      color: white;
      font-size: 28px;
      font-weight: bold;
      cursor: pointer;
      transition: opacity 0.2s;
  }

  .close:hover {
      opacity: 0.7;
  }

  .modal-body {
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 16px;
  }

  .form-group {
      display: flex;
      flex-direction: column;
      gap: 6px;
  }

  .form-group label {
      font-weight: 600;
      color: #374151;
      font-size: 14px;
      display: flex;
      align-items: center;
      gap: 6px;
  }

  .form-group label i {
      color: var(--accent-1);
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
      padding: 12px;
      border: 2px solid #e6e9ef;
      border-radius: 8px;
      font-size: 14px;
      transition: border-color 0.2s, box-shadow 0.2s;
  }

  .form-group input:focus,
  .form-group textarea:focus,
  .form-group select:focus {
      border-color: var(--accent-1);
      box-shadow: 0 0 0 3px rgba(6, 78, 59, 0.1);
      outline: none;
  }

  .checkbox-label {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      font-size: 14px;
  }

  .form-actions {
      display: flex;
      gap: 12px;
      justify-content: flex-end;
      margin-top: 20px;
      padding-top: 20px;
      border-top: 1px solid #e6e9ef;
  }

  /* Logout Modal */
  .logout-modal .modal-body {
      text-align: center;
      padding: 40px 20px;
  }

  .logout-modal h3 {
      color: var(--danger);
      margin-bottom: 12px;
  }

  .logout-modal p {
      color: var(--muted);
      margin-bottom: 24px;
  }

  /* Demo Form Upgrades */
  .demo-form {
      display: none;
      flex-direction: column;
      gap: 16px;
      padding: 24px;
      border-radius: 16px;
      background: linear-gradient(135deg, #fff 0%, #E8F5E9 100%);
      box-shadow: 0 8px 32px rgba(6, 78, 59, 0.1);
      margin-top: 16px;
      border: 1px solid rgba(6, 78, 59, 0.1);
      animation: slideUp 0.4s ease;
  }

  .demo-form.show {
      display: flex;
  }

  .demo-form h3 {
      margin-bottom: 12px;
      color: var(--accent-1);
      text-align: center;
      font-size: 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
  }

  .demo-form h3 i {
      color: var(--success);
  }

  .demo-form .form-group {
      position: relative;
  }

  .demo-form .form-group i {
      position: absolute;
      left: 12px;
      top: 68%;
      transform: translateY(-50%);
      color: var(--muted);
      z-index: 1;
  }

  .demo-form .form-group input,
  .demo-form .form-group textarea,
  .demo-form .form-group select {
      padding-left: 40px;
  }

  .demo-form .form-actions {
      background: none;
      border-top: none;
      padding-top: 0;
  }

  /* Orders */
  .order-card {
      display: flex;
      flex-direction: column;
      gap: 8px;
      padding: 14px;
      border-radius: 10px;
      border: 1px solid rgba(15, 15, 30, 0.03);
      margin-bottom: 12px;
      transition: max-height 0.3s ease, opacity 0.3s ease, transform 0.2s;
  }

  .order-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .order-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap
  }

  .badge {
      background: rgba(6, 78, 59, 0.08);
      padding: 6px 10px;
      border-radius: 999px;
      font-weight: 600;
      color: var(--accent-1)
  }

  .order-details {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      transition: max-height 0.3s ease, opacity 0.3s ease;
      padding-top: 10px;
      border-top: 1px solid rgba(15, 15, 30, 0.03);
  }

  .order-details.expanded {
      max-height: 300px;
      opacity: 1;
  }

  .order-details p {
      margin: 4px 0;
      font-size: 14px;
  }

  .order-details strong {
      color: #374151;
  }

  /* Cart items */
  .cart-list,
  .cart-items {
      display: flex;
      flex-direction: column;
      gap: 12px
  }

  .cart-item {
      display: flex;
      gap: 12px;
      align-items: center;
      border-radius: 10px;
      padding: 10px;
      border: 1px solid rgba(15, 15, 30, 0.03);
      transition: box-shadow 0.2s;
  }

  .cart-item:hover {
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  .cart-item img {
      width: 92px;
      height: 72px;
      object-fit: cover;
      border-radius: 8px
  }

  .item-meta {
      flex: 1
  }

  .item-actions {
      margin-left: auto;
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: flex-end;
  }

  .btn {
      padding: 9px 14px;
      border-radius: 10px;
      border: none;
      font-weight: 700;
      cursor: pointer;
      background: linear-gradient(90deg, var(--btn-green), var(--accent-2));
      color: white;
      box-shadow: 0 8px 18px rgba(6, 78, 59, 0.15);
      transition: transform 0.2s, box-shadow 0.2s;
  }

  .btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 24px rgba(6, 78, 59, 0.25);
  }

  .btn {
      background: transparent;
      color: var(--muted);
      border: 1px solid rgba(15, 15, 30, 0.04);
      box-shadow: none;
  }

  .btn:hover {
      background: rgba(6, 78, 59, 0.08);
      color: var(--accent-1);
      transform: translateY(-1px);
  }

  .btn.danger {
      background: var(--danger);
      box-shadow: none;
  }

  .btn.danger:hover {
      background: #c0392b;
      transform: translateY(-2px);
  }

  .small {
      font-size: 13px;
      color: var(--muted)
  }

  /* Address cards */
  .address-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 12px
  }

  .address-card {
      padding: 12px;
      border-radius: 10px;
      border: 1px solid rgba(15, 15, 30, 0.03);
      transition: box-shadow 0.2s;
  }

  .address-card:hover {
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

  /* Wishlist styles */
  .wishlist-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 16px;
  }

  .wishlist-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 14px;
      border-radius: 12px;
      border: 1px solid rgba(15, 15, 30, 0.06);
      background: linear-gradient(135deg, #fff 0%, #E8F5E9 100%);
      transition: all 0.3s ease;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  .wishlist-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 20px rgba(6, 78, 59, 0.15);
      border-color: var(--accent-1);
  }

  .wishlist-item-image {
      width: 100%;
      height: 180px;
      border-radius: 8px;
      overflow: hidden;
      background: #f5f5f5;
      cursor: pointer;
  }

  .wishlist-item-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
  }

  .wishlist-card:hover .wishlist-item-image img {
      transform: scale(1.05);
  }

  .wishlist-item-details {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 6px;
      cursor: pointer;
  }

  .wishlist-item-details h4 {
      font-size: 16px;
      font-weight: 600;
      color: #111827;
      margin: 0;
  }

  .wishlist-item-type {
      color: var(--muted);
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
  }

  .wishlist-item-price {
      font-size: 18px;
      font-weight: 700;
      color: var(--success);
      margin: 4px 0;
  }

  .wishlist-item-actions {
      display: flex;
      flex-direction: column;
      gap: 8px;
  }

  .wishlist-item-actions .btn {
      width: 100%;
      text-align: center;
      font-size: 13px;
  }

  /* Settings styles */
  .settings-list {
      display: flex;
      flex-direction: column;
      gap: 16px;
  }

  .setting-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
      border-radius: 10px;
      border: 1px solid rgba(15, 15, 30, 0.06);
      background: linear-gradient(135deg, #fff 0%, #E8F5E9 100%);
      transition: all 0.2s ease;
  }

  .setting-item:hover {
      border-color: var(--accent-1);
      box-shadow: 0 4px 12px rgba(6, 78, 59, 0.1);
  }

  .setting-info {
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .setting-info h4 {
      margin: 0;
      font-size: 16px;
      font-weight: 600;
      color: #111827;
  }

  .setting-info p {
      margin: 4px 0 0 0;
  }

  /* Toggle Switch */
  .toggle-switch {
      position: relative;
      width: 54px;
      height: 28px;
      cursor: pointer;
  }

  .toggle-switch input {
      opacity: 0;
      width: 0;
      height: 0;
  }

  .toggle-slider {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      border-radius: 34px;
      transition: 0.3s;
  }

  .toggle-slider:before {
      position: absolute;
      content: "";
      height: 20px;
      width: 20px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      border-radius: 50%;
      transition: 0.3s;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }

  .toggle-switch input:checked+.toggle-slider {
      background: linear-gradient(90deg, var(--accent-1), var(--accent-2));
  }

  .toggle-switch input:checked+.toggle-slider:before {
      transform: translateX(26px);
  }

  /* Login / Signup modal-like area inside page */
  .login-area {
      gap: 18px;
      align-items: stretch;
      padding: 18px;
      border-radius: 12px;
      background: linear-gradient(180deg, #fff, #fbfbff);
  }

  .login-left {
      flex: 1;
      padding: 8px;
      display: flex;
      flex-direction: column;
      justify-content: center;
  }

  .login-right {
      width: 100%;
      min-width: 280px;
      padding: 8px;
      position: relative;
  }

  /* profile menu popup */
  .profile-menu {
      position: absolute;
      right: 22px;
      top: 64px;
      z-index: 50;
      background: white;
      color: black;
      border-radius: 12px;
      padding: 8px;
      border: 1px solid rgba(15, 15, 30, 0.06);
      box-shadow: 0 10px 30px rgba(12, 12, 40, 0.12);
      min-width: 220px;
      display: none;
      animation: slideDown 0.2s ease;
  }

  .profile-menu.show {
      display: block
  }

  .profile-menu .menu-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.2s;
  }

  .profile-menu .menu-item:hover {
      background: rgba(6, 78, 59, 0.06)
  }

  /* responsive */
  @media (max-width:1000px) {
      .main {
          flex-direction: column;
          padding: 18px
      }

      .sidebar {
          width: 100%;
          display: flex;
          flex-direction: row;
          align-items: center;
          gap: 10px;
          overflow-x: auto;
          padding: 10px
      }

      .sidebar .nav {
          flex-direction: row
      }

      .profile-brief {
          display: none
      }

      .address-grid {
          grid-template-columns: 1fr
      }

      .wishlist-grid {
          grid-template-columns: 1fr;
      }

      .login-right {
          width: 100%
      }

      .demo-form {
          flex-direction: column;
      }

      .modal-content {
          width: 95%;
          margin: 10% auto;
      }
  }

  @media (max-width:640px) {
      header.app-header {
          padding: 12px;
          gap: 12px;
      }

      .search {
          display: none
      }

      .sidebar.collapsed {
          display: none
      }

      .login-area {
          flex-direction: column;
      }

      .profile-top {
          flex-direction: column;
          text-align: center;
      }

      .form-actions {
          flex-direction: column;
      }

      .form-group input,
      .form-group textarea,
      .form-group select {
          padding: 10px;
      }
  }

  /* Animations */
  .fade-in {
      animation: fadeIn .25s ease both
  }

  @keyframes fadeIn {
      from {
          opacity: 0;
          transform: translateY(8px)
      }

      to {
          opacity: 1;
          transform: none
      }
  }

  @keyframes slideIn {
      from {
          opacity: 0;
          transform: translateY(-50px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @keyframes slideUp {
      from {
          opacity: 0;
          transform: translateY(20px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  @keyframes slideDown {
      from {
          opacity: 0;
          transform: translateY(-10px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  /* ===== Cart Buttons Shared Styles (from cart.css) ===== */

  .remove-btn,
  .order-btn {
      border: none;
      padding: 6px 10px;
      font-size: 0.85rem;
      border-radius: 999px;
      cursor: pointer;
      font-weight: 600;
      transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
      white-space: nowrap;
      text-transform: capitalize;
  }

  .remove-btn {
      background: #FEE2E2;
      color: #B91C1C;
      box-shadow: none;
      /* override default btn shadow if any */
  }

  .remove-btn:hover {
      background: #FCA5A5;
      box-shadow: 0 4px 10px rgba(248, 113, 113, 0.5);
      transform: translateY(-1px);
  }

  .order-btn {
      background: #10B981;
      color: #FFFFFF;
      box-shadow: none;
  }

  .order-btn:hover {
      background: #059669;
      box-shadow: 0 4px 12px rgba(16, 185, 129, 0.5);
      transform: translateY(-1px);
  }

  /* Timer Styles added by Antigravity */
  .countdown-timer {
      font-family: 'Courier New', Courier, monospace;
      font-weight: 700;
      letter-spacing: 1px;
      background: rgba(39, 174, 96, 0.1);
      /* Subtle green bg */
      color: #27ae60;
      /* Green text */
      min-width: 110px;
      text-align: center;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: 1px solid rgba(39, 174, 96, 0.2);
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  }

  .badge.delivered-status {
      background: #f3f4f6;
      /* Gray bg */
      color: #6b7280;
      /* Muted text */
      font-family: 'Segoe UI', sans-serif;
      /* Reset to normal font */
      letter-spacing: normal;
      border: 1px solid #e5e7eb;
  }