      /* ===== CSS Variables & Reset ===== */
      :root {
          --primary: #25d366;
          --primary-dark: #128c7e;
          --primary-bg: #e8f5e9;
          --dark: #111827;
          --gray-50: #f8fafc;
          --gray-100: #f1f5f9;
          --gray-200: #e2e8f0;
          --gray-300: #cbd5e1;
          --gray-400: #94a3b8;
          --gray-500: #64748b;
          --gray-600: #475569;
          --gray-700: #334155;
          --gray-800: #1e293b;
          --card: #ffffff;
          --radius: 16px;
          --radius-sm: 10px;
          --shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.05);
          --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.08);
          --transition: 0.2s ease;
          --font:
              "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
              sans-serif;
      }

      * {
          box-sizing: border-box;
          margin: 0;
          padding: 0;
      }

      html {
          scroll-behavior: smooth;
          font-size: 16px;
      }

      body {
          font-family: var(--font);
          background: var(--gray-50);
          color: var(--dark);
          line-height: 1.6;
          min-height: 100vh;
      }

      a {
          text-decoration: none;
          color: inherit;
      }

      button {
          cursor: pointer;
          font-family: inherit;
          border: none;
          background: none;
      }

      input,
      select,
      textarea {
          font-family: inherit;
          font-size: inherit;
          outline: none;
      }

      /* ===== Scrollbar ===== */
      ::-webkit-scrollbar {
          width: 6px;
          height: 6px;
      }

      ::-webkit-scrollbar-track {
          background: var(--gray-100);
      }

      ::-webkit-scrollbar-thumb {
          background: var(--gray-300);
          border-radius: 8px;
      }

      ::-webkit-scrollbar-thumb:hover {
          background: var(--gray-400);
      }

      /* ===== Utilities ===== */
      .container {
          max-width: 1280px;
          margin: 0 auto;
          padding: 0 24px;
      }

      .flex {
          display: flex;
      }

      .flex-col {
          flex-direction: column;
      }

      .items-center {
          align-items: center;
      }

      .justify-between {
          justify-content: space-between;
      }

      .gap-1 {
          gap: 8px;
      }

      .gap-2 {
          gap: 16px;
      }

      .gap-3 {
          gap: 24px;
      }

      .text-center {
          text-align: center;
      }

      .w-full {
          width: 100%;
      }

      .relative {
          position: relative;
      }

      .hidden {
          display: none !important;
      }

      .badge {
          display: inline-block;
          padding: 2px 12px;
          border-radius: 20px;
          font-size: 0.7rem;
          font-weight: 600;
          letter-spacing: 0.3px;
          text-transform: uppercase;
      }

      .badge-green {
          background: #dcf8c6;
          color: #1b7a3d;
      }

      .badge-yellow {
          background: #fef3c7;
          color: #92400e;
      }

      .badge-red {
          background: #fee2e2;
          color: #991b1b;
      }

      .badge-blue {
          background: #dbeafe;
          color: #1e40af;
      }

      .badge-gray {
          background: var(--gray-200);
          color: var(--gray-600);
      }

      .btn {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 8px;
          padding: 10px 22px;
          border-radius: var(--radius-sm);
          font-weight: 600;
          font-size: 0.9rem;
          transition: all var(--transition);
          border: 1.5px solid transparent;
      }

      .btn-primary {
          background: var(--primary);
          color: #fff;
          border-color: var(--primary);
      }

      .btn-primary:hover {
          background: var(--primary-dark);
          border-color: var(--primary-dark);
          transform: translateY(-1px);
          box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35);
      }

      .btn-outline {
          background: transparent;
          color: var(--dark);
          border-color: var(--gray-300);
      }

      .btn-outline:hover {
          background: var(--gray-100);
          border-color: var(--gray-400);
      }

      .btn-danger {
          background: #ef4444;
          color: #fff;
          border-color: #ef4444;
      }

      .btn-danger:hover {
          background: #dc2626;
      }

      .btn-sm {
          padding: 6px 14px;
          font-size: 0.8rem;
      }

      .btn-xs {
          padding: 3px 10px;
          font-size: 0.7rem;
          border-radius: var(--radius-xs);
          margin-top: 3%;
          width: 80%;
          border-radius: 2px;
      }

      .btn-success {
          background: #10b981;
          color: #fff;
          border-color: #10b981;
      }

      .btn-success:hover {
          background: #059669;
      }

      .card {
          background: var(--card);
          border-radius: var(--radius);
          box-shadow: var(--shadow);
          padding: 20px 24px;
          transition: all var(--transition);
          border: 1px solid var(--gray-100);
      }

      .card:hover {
          box-shadow: var(--shadow-hover);
      }

      .section-title {
          font-size: 1.5rem;
          font-weight: 700;
          color: var(--dark);
          margin-bottom: 4px;
      }

      .section-sub {
          color: var(--gray-500);
          font-size: 0.95rem;
      }

      /* ===== Toast ===== */
      #toast-container {
          position: fixed;
          bottom: 24px;
          right: 24px;
          z-index: 9999;
          display: flex;
          flex-direction: column;
          gap: 10px;
          max-width: 400px;
          width: 100%;
          pointer-events: none;
      }

      .toast {
          padding: 14px 20px;
          border-radius: var(--radius-sm);
          color: #fff;
          font-weight: 500;
          font-size: 0.9rem;
          box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
          animation: slideUp 0.3s ease;
          display: flex;
          align-items: center;
          gap: 10px;
          border-left: 4px solid rgba(255, 255, 255, 0.3);
          pointer-events: auto;
      }

      .toast-success {
          background: #10b981;
      }

      .toast-error {
          background: #ef4444;
      }

      .toast-info {
          background: #3b82f6;
      }

      .toast-warning {
          background: #f59e0b;
      }

      @keyframes slideUp {
          from {
              opacity: 0;
              transform: translateY(20px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      /* ===== Loader ===== */
      .loader {
          display: inline-block;
          width: 20px;
          height: 20px;
          border: 3px solid var(--gray-200);
          border-top-color: var(--primary);
          border-radius: 50%;
          animation: spin 0.6s linear infinite;
      }

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

      .loader-sm {
          width: 14px;
          height: 14px;
          border-width: 2px;
      }

      /* ===== Landing Page ===== */
      .landing-hero {
          background: linear-gradient(180deg, #fff 0%, var(--gray-50) 100%);
          min-height: 50vh;
          display: flex;
          align-items: center;
      }

      .landing-hero h1 {
          font-size: 3.8rem;
          font-weight: 800;
          line-height: 1.15;
          letter-spacing: -0.03em;
          color: var(--dark);
      }

      .landing-hero h1 span {
          color: var(--primary-dark);
      }

      .landing-hero .sub {
          font-size: 1.25rem;
          color: var(--gray-600);
          max-width: 560px;
          margin-top: 12px;
          line-height: 1.7;
      }

      .landing-hero .cta-group {
          margin-top: 32px;
          display: flex;
          flex-wrap: wrap;
          gap: 14px;
      }

      .landing-hero .visual {
          background: var(--card);
          border-radius: var(--radius);
          box-shadow: var(--shadow-hover);
          padding: 30px 36px;
          border: 1px solid var(--gray-200);
          max-width: 520px;
          width: 100%;
      }

      .landing-hero .visual .flow {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 12px;
          flex-wrap: wrap;
          font-weight: 600;
          color: var(--gray-700);
      }

      .landing-hero .visual .flow .arrow {
          color: var(--primary);
          font-size: 1.5rem;
      }

      .landing-hero .visual .flow .step {
          background: var(--gray-50);
          padding: 10px 18px;
          border-radius: var(--radius-sm);
          border: 1px solid var(--gray-200);
          display: flex;
          align-items: center;
          gap: 8px;
      }

      .landing-hero .visual .flow .step i {
          color: var(--primary-dark);
          font-size: 1.2rem;
      }

      .feature-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
          gap: 20px;
          margin-top: 30px;
      }

      .feature-grid .item {
          background: var(--card);
          border-radius: var(--radius-sm);
          padding: 20px 16px;
          text-align: center;
          border: 1px solid var(--gray-100);
          transition: all var(--transition);
      }

      .feature-grid .item:hover {
          transform: translateY(-4px);
          box-shadow: var(--shadow-hover);
      }

      .feature-grid .item i {
          font-size: 2rem;
          color: var(--primary-dark);
          margin-bottom: 6px;
      }

      .feature-grid .item h4 {
          font-size: 0.95rem;
          font-weight: 600;
      }

      .feature-grid .item p {
          font-size: 0.8rem;
          color: var(--gray-500);
          margin-top: 2px;
      }

      .landing-footer {
          padding: 32px 0;
          border-top: 1px solid var(--gray-200);
          background: #fff;
          color: var(--gray-500);
          font-size: 0.85rem;
          text-align: center;
      }

      /* =========================================================
   MODERN AUTH PAGE
   ========================================================= */

      /* Background illustration */
      /* ================================
   AUTH PAGE — FULL BACKGROUND IMAGE
   ================================ */

      .auth-wrapper {
          position: relative;
          min-height: 100vh;
          width: 100%;

          display: flex;
          align-items: flex-start;
          justify-content: flex-end;

          padding: 8vh 8% 40px;

          overflow: hidden;

          background-image: url("assets/AuthImage.png");
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
      }

      /* Dark overlay so card stands out */
      .auth-wrapper::before {
          content: "";
          position: absolute;
          inset: 0;

          background: rgba(0, 0, 0, 0.25);

          z-index: 1;
      }

      /* Hide the actual img element */
      .auth-wrapper>img {
          display: none;
      }

      /* ================================
   AUTH CARD
   ================================ */
      .auth-box {
          position: relative;
          z-index: 2;

          width: 100%;
          max-width: 430px;

          padding: 40px;

          background: rgba(255, 255, 255, 0.1);

          backdrop-filter: blur(18px);
          -webkit-backdrop-filter: blur(18px);

          border: 1px solid rgba(255, 255, 255, 0.7);

          border-radius: 24px;

          box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25);

          /* IMPORTANT */
          animation: none;
      }

      @keyframes authCardAppear {
          from {
              opacity: 0;
              transform: translateY(20px) scale(0.97);
          }

          to {
              opacity: 1;
              transform: translateY(0) scale(1);
          }
      }

      /* Logo */

      .auth-box .logo {
          text-align: center;
          margin-bottom: 30px;
      }

      .auth-box .logo h2 {
          font-size: 2rem;
          font-weight: 800;
          color: #15d949;
      }

      .auth-box .logo h2 span {
          color: #ffffff;
      }

      .auth-box .logo p {
          margin-top: 4px;
          color: #ffffff;
          font-size: 0.9rem;
      }

      /* Inputs */

      .auth-box .form-group {
          margin-bottom: 18px;
      }

      .auth-box .form-group input {
          width: 100%;

          padding: 13px 15px;

          border: 1.5px solid #e2e8f0;
          border-radius: 12px;

          background: #f8fafc;

          transition: 0.2s ease;
      }

      .auth-box .form-group input:focus {
          background: #fff;

          border-color: #25d366;

          box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.12);
      }

      /* Button */

      .auth-box .btn {
          width: 100%;

          padding: 13px;

          border-radius: 12px;

          font-size: 0.95rem;
          font-weight: 700;

          background: linear-gradient(135deg, #25d366, #128c7e);

          box-shadow: 0 8px 20px rgba(37, 211, 102, 0.25);

          transition: 0.2s ease;
      }

      .auth-box .btn:hover {
          transform: translateY(-2px);

          box-shadow: 0 12px 28px rgba(37, 211, 102, 0.35);
      }

      /* Login / Register switch */

      .auth-box .switch {
          margin-top: 20px;
          text-align: center;
      }

      .auth-box .switch a {
          color: #159c23;
          font-weight: 700;
      }

      /* ================================
   MOBILE
   ================================ */

      @media (max-width: 600px) {
          .auth-wrapper {
              padding: 16px;

              background-position: center;
          }

          .auth-box {
              max-width: 100%;

              padding: 30px 22px;

              border-radius: 20px;
          }
      }

      /* ===== App Layout ===== */
      .app-layout {
          display: flex;
          min-height: 100vh;
      }

      .app-sidebar {
          width: 240px;
          background: var(--card);
          border-right: 1px solid var(--gray-200);
          padding: 24px 16px;
          position: sticky;
          top: 0;
          height: 100vh;
          overflow-y: auto;
          flex-shrink: 0;
          z-index: 100;
          transition: transform 0.3s ease;
          display: flex;
          flex-direction: column;
      }

      .app-sidebar .brand {
          font-size: 1.3rem;
          font-weight: 800;
          color: var(--dark);
          padding-bottom: 20px;
          border-bottom: 1px solid var(--gray-100);
          margin-bottom: 20px;
      }

      .app-sidebar .brand span {
          color: var(--primary-dark);
      }

      .app-sidebar .brand small {
          font-weight: 400;
          font-size: 0.6rem;
          color: var(--gray-400);
          display: block;
          letter-spacing: 0.5px;
      }

      .app-sidebar nav {
          display: flex;
          flex-direction: column;
          gap: 2px;
          flex: 1;
      }

      .app-sidebar nav a {
          display: flex;
          align-items: center;
          gap: 12px;
          padding: 10px 14px;
          border-radius: var(--radius-sm);
          color: var(--gray-600);
          font-weight: 500;
          font-size: 0.9rem;
          transition: all var(--transition);
          cursor: pointer;
      }

      .app-sidebar nav a i {
          width: 20px;
          text-align: center;
          font-size: 1.05rem;
      }

      .app-sidebar nav a:hover {
          background: var(--gray-100);
          color: var(--dark);
      }

      .app-sidebar nav a.active {
          background: var(--primary-bg);
          color: var(--primary-dark);
          font-weight: 600;
      }

      .app-sidebar .sidebar-footer {
          padding-top: 20px;
          border-top: 1px solid var(--gray-100);
          font-size: 0.8rem;
          color: var(--gray-400);
      }

      .app-sidebar .sidebar-footer .user {
          display: flex;
          align-items: center;
          gap: 10px;
          padding: 8px 0;
          color: var(--gray-600);
          font-weight: 500;
      }

      .app-sidebar .sidebar-footer .user i {
          font-size: 1.4rem;
          color: var(--gray-400);
      }

      .app-sidebar .sidebar-footer .user .name {
          font-size: 0.85rem;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
      }

      .app-sidebar .sidebar-footer .logout-btn {
          color: var(--gray-500);
          font-weight: 500;
          padding: 6px 0;
          display: flex;
          align-items: center;
          gap: 8px;
          transition: color var(--transition);
          cursor: pointer;
          width: 100%;
          background: none;
          border: none;
          font-size: 0.85rem;
      }

      .app-sidebar .sidebar-footer .logout-btn:hover {
          color: #ef4444;
      }

      .app-content {
          flex: 1;
          padding: 28px 32px 60px;
          overflow-x: hidden;
          min-width: 0;
      }

      .app-header {
          display: flex;
          align-items: center;
          justify-content: space-between;
          margin-bottom: 28px;
          flex-wrap: wrap;
          gap: 12px;
      }

      .app-header h1 {
          font-size: 1.8rem;
          font-weight: 700;
      }

      .app-header .header-actions {
          display: flex;
          gap: 10px;
          align-items: center;
      }

      .hamburger {
          display: none;
          font-size: 1.6rem;
          color: var(--gray-600);
          padding: 4px 8px;
          border-radius: var(--radius-xs);
          transition: background var(--transition);
          background: none;
          border: none;
      }

      .hamburger:hover {
          background: var(--gray-100);
      }

      /* ===== Stats Grid ===== */
      .stats-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
          gap: 16px;
          margin-bottom: 28px;
      }

      .stats-grid .stat-card {
          background: var(--card);
          border-radius: var(--radius-sm);
          padding: 16px 18px;
          border: 1px solid var(--gray-100);
          box-shadow: var(--shadow);
          transition: all var(--transition);
      }

      .stats-grid .stat-card:hover {
          transform: translateY(-3px);
          box-shadow: var(--shadow-hover);
      }

      .stats-grid .stat-card .label {
          font-size: 0.75rem;
          color: var(--gray-500);
          font-weight: 500;
          text-transform: uppercase;
          letter-spacing: 0.4px;
      }

      .stats-grid .stat-card .value {
          font-size: 1.8rem;
          font-weight: 700;
          color: var(--dark);
          margin-top: 2px;
      }

      .stats-grid .stat-card .value.green {
          color: var(--primary-dark);
      }

      .stats-grid .stat-card .value.red {
          color: #ef4444;
      }

      .stats-grid .stat-card .value.orange {
          color: #f59e0b;
      }

      .stats-grid .stat-card .icon {
          float: right;
          font-size: 1.8rem;
          color: var(--gray-300);
      }

      /* ===== Tables ===== */
      .table-wrap {
          overflow-x: auto;
          margin-top: 12px;
          border-radius: var(--radius-sm);
          border: 1px solid var(--gray-100);
          background: var(--card);
      }

      .table-wrap table {
          width: 100%;
          border-collapse: collapse;
          font-size: 0.9rem;
          min-width: 600px;
      }

      .table-wrap th {
          text-align: left;
          padding: 12px 16px;
          background: var(--gray-50);
          font-weight: 600;
          color: var(--gray-600);
          font-size: 0.75rem;
          text-transform: uppercase;
          letter-spacing: 0.3px;
          border-bottom: 1px solid var(--gray-200);
      }

      .table-wrap td {
          padding: 12px 16px;
          border-bottom: 1px solid var(--gray-100);
          color: var(--gray-700);
      }

      .table-wrap tr:last-child td {
          border-bottom: none;
      }

      .table-wrap tr:hover td {
          background: var(--gray-50);
      }

      /* ===== Forms ===== */
      .form-group {
          margin-bottom: 16px;
      }

      .form-group label {
          display: block;
          font-weight: 600;
          font-size: 0.85rem;
          color: var(--gray-700);
          margin-bottom: 4px;
      }

      .form-group input,
      .form-group select,
      .form-group textarea {
          width: 100%;
          padding: 10px 14px;
          border: 1.5px solid var(--gray-200);
          border-radius: var(--radius-sm);
          transition: all var(--transition);
          background: var(--gray-50);
          color: var(--dark);
      }

      .form-group input:focus,
      .form-group select:focus,
      .form-group textarea:focus {
          border-color: var(--primary);
          box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.12);
          background: #fff;
      }

      .form-group textarea {
          resize: vertical;
          min-height: 70px;
      }

      .form-row {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 16px;
      }

      /* ===== Chat ===== */
      .chat-container {
          background: var(--card);
          border-radius: var(--radius);
          border: 1px solid var(--gray-100);
          box-shadow: var(--shadow);
          margin: 0 auto;
          overflow: hidden;
          display: flex;
          flex-direction: column;

      }

      .chat-header {
          padding: 16px 20px;
          border-bottom: 1px solid var(--gray-100);
          display: flex;
          align-items: center;
          gap: 12px;
          background: var(--gray-50);
      }

      .chat-header .avatar {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          background: var(--primary-bg);
          display: flex;
          align-items: center;
          justify-content: center;
          color: var(--primary-dark);
          font-size: 1.3rem;
      }

      .chat-header .info h4 {
          font-weight: 600;
          font-size: 1rem;
      }

      .chat-header .info p {
          font-size: 0.8rem;
          color: var(--gray-500);
      }

      .chat-messages {
          flex: 1;
          padding: 20px;
          overflow-y: auto;
          display: flex;
          flex-direction: column;
          gap: 12px;
          background: var(--gray-50);
      }

      .chat-msg {
          max-width: 80%;
          padding: 12px 18px;
          border-radius: var(--radius-sm);
          font-size: 0.95rem;
          line-height: 1.5;
          animation: fadeIn 0.25s ease;
      }

      .chat-msg.user {
          align-self: flex-end;
          background: var(--primary);
          color: #fff;
          border-bottom-right-radius: 4px;
      }

      .chat-msg.bot {
          align-self: flex-start;
          background: var(--card);
          border: 1px solid var(--gray-200);
          color: var(--dark);
          border-bottom-left-radius: 4px;
      }

      .chat-msg .time {
          font-size: 0.6rem;
          opacity: 0.6;
          margin-top: 4px;
          display: block;
      }

      .chat-msg .actions {
          margin-top: 8px;
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
      }

      .chat-input {
          display: flex;
          gap: 10px;
          padding: 14px 20px;
          border-top: 1px solid var(--gray-100);
          background: var(--card);
      }

      .chat-input input {
          flex: 1;
          padding: 10px 16px;
          border: 1.5px solid var(--gray-200);
          border-radius: 30px;
          background: var(--gray-50);
          transition: all var(--transition);
      }

      .chat-input input:focus {
          border-color: var(--primary);
          box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.1);
          background: #fff;
      }

      .chat-input .btn {
          border-radius: 50%;
          width: 46px;
          height: 46px;
          padding: 0;
          background: var(--primary);
          color: #fff;
          font-size: 1.2rem;
          flex-shrink: 0;
      }

      .chat-input .btn:hover {
          background: var(--primary-dark);
          transform: scale(1.02);
      }

      .quick-chips {
          display: flex;
          flex-wrap: wrap;
          gap: 6px;
          padding: 8px 20px 12px;
          border-top: 1px solid var(--gray-100);
          background: var(--gray-50);
      }

      .quick-chips .chip {
          padding: 4px 14px;
          border-radius: 20px;
          background: var(--card);
          border: 1px solid var(--gray-200);
          font-size: 0.75rem;
          font-weight: 500;
          color: var(--gray-600);
          transition: all var(--transition);
          cursor: pointer;
      }

      .quick-chips .chip:hover {
          border-color: var(--primary);
          color: var(--primary-dark);
          background: var(--primary-bg);
      }

      @keyframes fadeIn {
          from {
              opacity: 0;
              transform: translateY(6px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      /* ===== WhatsApp Sim ===== */
      .wa-sim {
          background: var(--card);
          border-radius: var(--radius);
          border: 1px solid var(--gray-100);
          box-shadow: var(--shadow);
          max-width: 820px;
          margin: 0 auto;
          overflow: hidden;
      }

      .wa-sim .wa-header {
          background: #075e54;
          color: #fff;
          padding: 14px 20px;
          display: flex;
          align-items: center;
          gap: 12px;
      }

      .wa-sim .wa-header i {
          font-size: 1.4rem;
      }

      .wa-sim .wa-header .info h4 {
          font-weight: 600;
          font-size: 1rem;
      }

      .wa-sim .wa-header .info p {
          font-size: 0.75rem;
          opacity: 0.8;
      }

      .wa-sim .wa-body {
          padding: 20px;
          background: #ece5dd;
          min-height: 280px;
          max-height: 400px;
          overflow-y: auto;
          display: flex;
          flex-direction: column;
          gap: 10px;
      }

      .wa-sim .wa-body .msg {
          max-width: 75%;
          padding: 10px 16px;
          border-radius: 10px;
          font-size: 0.9rem;
          line-height: 1.5;
          animation: fadeIn 0.3s ease;
      }

      .wa-sim .wa-body .msg.customer {
          align-self: flex-start;
          background: #fff;
          color: var(--dark);
          border-top-left-radius: 4px;
      }

      .wa-sim .wa-body .msg.business {
          align-self: flex-end;
          background: #dcf8c6;
          color: var(--dark);
          border-top-right-radius: 4px;
      }

      .wa-sim .wa-body .msg .time {
          font-size: 0.6rem;
          opacity: 0.6;
          display: block;
          margin-top: 4px;
      }

      .wa-sim .wa-body .order-summary {
          background: #fff;
          border-radius: var(--radius-sm);
          padding: 14px 18px;
          border-left: 4px solid var(--primary);
          margin-top: 6px;
          font-size: 0.9rem;
          align-self: flex-end;
          max-width: 80%;
          box-shadow: var(--shadow);
      }

      .wa-sim .wa-body .order-summary strong {
          color: var(--primary-dark);
      }

      .wa-sim .wa-footer {
          padding: 12px 16px;
          background: var(--card);
          border-top: 1px solid var(--gray-100);
          display: flex;
          gap: 10px;
      }

      .wa-sim .wa-footer input {
          flex: 1;
          padding: 10px 16px;
          border: 1.5px solid var(--gray-200);
          border-radius: 30px;
          background: var(--gray-50);
      }

      .wa-sim .wa-footer input:focus {
          border-color: var(--primary);
      }

      .wa-sim .wa-footer .btn {
          border-radius: 50%;
          width: 44px;
          height: 44px;
          padding: 0;
          background: var(--primary);
          color: #fff;
          flex-shrink: 0;
      }

      .wa-sim .wa-footer .btn:hover {
          background: var(--primary-dark);
      }

      /* ===== Invoice Preview ===== */
      .invoice-preview {
          background: var(--card);
          border-radius: var(--radius);
          border: 1px solid var(--gray-200);
          padding: 32px 36px;
          max-width: 700px;
          margin: 0 auto;
          box-shadow: var(--shadow-hover);
      }

      .invoice-preview .inv-header {
          display: flex;
          justify-content: space-between;
          border-bottom: 2px solid var(--gray-200);
          padding-bottom: 16px;
          margin-bottom: 20px;
      }

      .invoice-preview .inv-header h3 {
          font-size: 1.5rem;
          font-weight: 700;
          color: var(--dark);
      }

      .invoice-preview .inv-header h3 span {
          color: var(--primary-dark);
      }

      .invoice-preview .inv-details {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 8px 24px;
          font-size: 0.9rem;
          margin-bottom: 16px;
      }

      .invoice-preview .inv-details .label {
          color: var(--gray-500);
          font-weight: 500;
      }

      .invoice-preview table {
          width: 100%;
          border-collapse: collapse;
          font-size: 0.9rem;
          margin: 12px 0;
      }

      .invoice-preview table th {
          text-align: left;
          padding: 8px 6px;
          border-bottom: 1px solid var(--gray-200);
          font-weight: 600;
          color: var(--gray-600);
      }

      .invoice-preview table td {
          padding: 8px 6px;
          border-bottom: 1px solid var(--gray-100);
      }

      .invoice-preview .inv-total {
          text-align: right;
          font-size: 1.2rem;
          font-weight: 700;
          margin-top: 12px;
          padding-top: 12px;
          border-top: 2px solid var(--gray-200);
      }

      .invoice-preview .inv-actions {
          display: flex;
          gap: 12px;
          margin-top: 20px;
          flex-wrap: wrap;
      }

      /* ===== Insights ===== */
      .insight-card {
          background: var(--card);
          border-radius: var(--radius-sm);
          padding: 16px 20px;
          border: 1px solid var(--gray-100);
          border-left: 4px solid var(--primary);
          box-shadow: var(--shadow);
          transition: all var(--transition);
      }

      .insight-card:hover {
          box-shadow: var(--shadow-hover);
      }

      .insight-card .icon {
          font-size: 1.4rem;
          color: var(--primary-dark);
          margin-right: 10px;
      }

      .insight-card .text {
          font-size: 0.95rem;
          color: var(--gray-700);
      }

      .insight-card .text strong {
          color: var(--dark);
      }

      /* ===== Empty State ===== */
      .empty-state {
          text-align: center;
          padding: 40px 20px;
          color: var(--gray-500);
      }

      .empty-state i {
          font-size: 3rem;
          color: var(--gray-300);
          margin-bottom: 12px;
      }

      .empty-state h4 {
          color: var(--gray-600);
          margin-bottom: 4px;
      }

      /* ===== Modal ===== */
      .modal-overlay {
          position: fixed;
          inset: 0;
          background: rgba(0, 0, 0, 0.4);
          backdrop-filter: blur(4px);
          z-index: 999;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 20px;
          animation: fadeIn 0.2s ease;
      }

      .modal-overlay .modal {
          background: var(--card);
          border-radius: var(--radius);
          padding: 32px 36px;
          max-width: 520px;
          width: 100%;
          max-height: 90vh;
          overflow-y: auto;
          box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
          animation: slideUp 0.25s ease;
      }

      .modal-overlay .modal .modal-header {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 18px;
      }

      .modal-overlay .modal .modal-header h3 {
          font-size: 1.3rem;
          font-weight: 700;
      }

      .modal-overlay .modal .modal-header .close {
          font-size: 1.6rem;
          color: var(--gray-400);
          cursor: pointer;
          transition: color var(--transition);
          background: none;
          border: none;
      }

      .modal-overlay .modal .modal-header .close:hover {
          color: var(--dark);
      }

      /* ===== Charts ===== */
      .chart-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 20px;
          margin-top: 20px;
      }

      .chart-box {
          background: var(--card);
          border-radius: var(--radius-sm);
          padding: 16px 18px;
          border: 1px solid var(--gray-100);
          box-shadow: var(--shadow);
          height: 260px;
          position: relative;
          padding-bottom: 10%;
      }

      .chart-box h4 {
          font-size: 0.9rem;
          font-weight: 600;
          color: var(--gray-600);
          margin-bottom: 8px;
      }

      .chart-box canvas {
          max-height: 200px;
          max-width: 100%;
      }

      @media (max-width: 768px) {
          .chart-grid {
              grid-template-columns: 1fr;
          }

          .chart-box {
              height: 220px;
          }
      }

      /* ===== Loading overlay ===== */
      .loading-overlay {
          position: fixed;
          inset: 0;
          background: rgba(255, 255, 255, 0.85);
          backdrop-filter: blur(4px);
          z-index: 9999;
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          gap: 16px;
      }

      .loading-overlay .loader {
          width: 40px;
          height: 40px;
          border-width: 4px;
      }

      .loading-overlay p {
          color: var(--gray-500);
          font-weight: 500;
      }

      /* ===== Settings ===== */
      .settings-card {
          max-width: 700px;
      }

      .settings-card .env-hint {
          background: var(--gray-50);
          border-radius: var(--radius-sm);
          padding: 14px 18px;
          border: 1px solid var(--gray-200);
          font-size: 0.85rem;
          color: var(--gray-600);
          margin-top: 12px;
      }

      .settings-card .env-hint code {
          background: var(--gray-200);
          padding: 2px 8px;
          border-radius: 4px;
          font-size: 0.8rem;
          color: var(--dark);
      }

      .settings-card .status-badge {
          display: inline-block;
          padding: 4px 14px;
          border-radius: 20px;
          font-size: 0.75rem;
          font-weight: 600;
      }

      .status-connected {
          color: #1b7a3d;
          padding: 8px;
          border-radius: 20px;
      }

      .status-disconnected {
          color: #991b1b;
          padding: 8px;
          border-radius: 20px;
      }

      /* ===== Page sections ===== */
      .page-section {
          display: none;
      }

      .page-section.active {
          display: block;
      }

      /* ===== Responsive ===== */
      @media (max-width: 992px) {
          .app-sidebar {
              transform: translateX(-100%);
              position: fixed;
              top: 0;
              left: 0;
              height: 100vh;
              width: 260px;
              box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
              border-right: none;
          }

          .app-sidebar.open {
              transform: translateX(0);
          }

          .hamburger {
              display: block;
          }

          .app-content {
              padding: 20px 16px 40px;
          }

          .app-header h1 {
              font-size: 1.4rem;
          }

          .landing-hero h1 {
              font-size: 2.4rem;
          }

          .landing-hero .sub {
              font-size: 1rem;
          }

          .landing-hero .visual {
              padding: 20px;
          }

          .landing-hero .visual .flow {
              flex-direction: column;
          }

          .landing-hero .visual .flow .arrow {
              transform: rotate(90deg);
          }
      }

      @media (max-width: 768px) {
          .container {
              padding: 0 16px;
          }

          .section-title {
              font-size: 1.25rem;
          }

          .card {
              padding: 16px;
          }

          .auth-box {
              padding: 28px 20px;
          }

          .stats-grid {
              grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
              gap: 12px;
          }

          .stats-grid .stat-card .value {
              font-size: 1.4rem;
          }

          .form-row {
              grid-template-columns: 1fr;
          }

          .invoice-preview {
              padding: 20px 16px;
          }

          .invoice-preview .inv-header {
              flex-direction: column;
              gap: 8px;
          }

          .invoice-preview .inv-details {
              grid-template-columns: 1fr;
          }


          .chat-msg {
              max-width: 92%;
          }
      }

      @media (max-width: 480px) {
          .app-content {
              padding: 12px 10px 30px;
          }

          .stats-grid {
              grid-template-columns: 1fr 1fr;
              gap: 8px;
          }

          .stats-grid .stat-card {
              padding: 12px 14px;
          }

          .stats-grid .stat-card .value {
              font-size: 1.2rem;
          }

          .btn {
              padding: 8px 14px;
              font-size: 0.8rem;
          }

          .modal-overlay .modal {
              padding: 20px 16px;
          }
      }

      /* =========================================================
   MODERN INVOICE
   ========================================================= */

      .invoice-modal {
          width: 100%;
      }

      .invoice-paper {
          width: 100%;
          max-width: 820px;
          margin: 0 auto;
          background: #fff;
          color: var(--dark);
          border: 1px solid var(--gray-200);
          border-radius: var(--radius);
          overflow: hidden;
          box-shadow: var(--shadow-hover);
          font-family: var(--font);
      }

      /* =========================
   HEADER
   ========================= */

      .invoice-top {
          padding: 28px 32px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 24px;
      }

      .invoice-brand {
          display: flex;
          align-items: center;
          gap: 12px;
      }

      .invoice-brand-icon {
          width: 46px;
          height: 46px;
          border-radius: 13px;
          background: var(--primary-bg);
          color: var(--primary-dark);
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 1.5rem;
      }

      .invoice-brand h2 {
          font-size: 1.15rem;
          font-weight: 800;
          color: var(--dark);
      }

      .invoice-brand p {
          font-size: 0.75rem;
          color: var(--gray-500);
          margin-top: 1px;
      }

      .invoice-heading {
          text-align: right;
          display: flex;
          flex-direction: column;
          gap: 2px;
      }

      .invoice-heading span {
          font-size: 1.7rem;
          font-weight: 800;
          letter-spacing: 1.5px;
          color: var(--primary-dark);
      }

      .invoice-heading strong {
          font-size: 0.82rem;
          color: var(--gray-500);
      }

      .invoice-line {
          height: 3px;
          background: linear-gradient(90deg, var(--primary), var(--primary-dark));
      }

      /* =========================
   INFO
   ========================= */

      .invoice-info-grid {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: 1px;
          background: var(--gray-200);
          border-bottom: 1px solid var(--gray-200);
      }

      .invoice-info-box {
          background: #fff;
          padding: 18px 20px;
          min-height: 86px;
          display: flex;
          flex-direction: column;
          justify-content: center;
          gap: 5px;
      }

      .invoice-label {
          display: flex;
          align-items: center;
          gap: 6px;
          color: var(--gray-400);
          font-size: 0.65rem;
          font-weight: 700;
          letter-spacing: 0.7px;
      }

      .invoice-label i {
          color: var(--primary-dark);
      }

      .invoice-info-box>strong {
          font-size: 0.85rem;
          color: var(--dark);
      }

      .invoice-info-box small {
          color: var(--gray-400);
          font-size: 0.7rem;
      }

      /* =========================
   STATUS
   ========================= */

      .invoice-status {
          width: fit-content;
          display: inline-flex;
          align-items: center;
          gap: 5px;
          padding: 5px 10px;
          border-radius: 30px;
          font-size: 0.7rem;
          font-weight: 700;
      }

      .invoice-status-paid {
          background: #dcf8c6;
          color: #1b7a3d;
      }

      .invoice-status-pending {
          background: #fef3c7;
          color: #92400e;
      }

      .invoice-status-other {
          background: var(--gray-100);
          color: var(--gray-600);
      }

      /* =========================
   ITEMS
   ========================= */

      .invoice-items-section {
          padding: 24px 28px 10px;
      }

      .invoice-section-title {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 12px;
      }

      .invoice-section-title h3 {
          font-size: 0.95rem;
          font-weight: 700;
          color: var(--dark);
      }

      .invoice-section-title span {
          font-size: 0.72rem;
          color: var(--gray-400);
      }

      .invoice-table-wrap {
          border: 1px solid var(--gray-200);
          border-radius: 10px;
          overflow: hidden;
      }

      .invoice-table {
          width: 100%;
          border-collapse: collapse;
          table-layout: fixed;
      }

      .invoice-table thead {
          background: var(--gray-50);
      }

      .invoice-table th {
          padding: 11px 12px;
          color: var(--gray-500);
          font-size: 0.65rem;
          font-weight: 700;
          letter-spacing: 0.5px;
          text-transform: uppercase;
          border-bottom: 1px solid var(--gray-200);
      }

      .invoice-table th:nth-child(1) {
          width: 45px;
          text-align: center;
      }

      .invoice-table th:nth-child(2) {
          text-align: left;
      }

      .invoice-table th:nth-child(3) {
          width: 70px;
          text-align: center;
      }

      .invoice-table th:nth-child(4),
      .invoice-table th:nth-child(5) {
          width: 110px;
          text-align: right;
      }

      .invoice-table td {
          padding: 13px 12px;
          border-bottom: 1px solid var(--gray-100);
          font-size: 0.82rem;
      }

      .invoice-table tbody tr:last-child td {
          border-bottom: none;
      }

      .invoice-table tbody tr:hover td {
          background: var(--gray-50);
      }

      .invoice-item-number {
          text-align: center;
          color: var(--gray-400);
      }

      .invoice-product {
          color: var(--dark);
      }

      .invoice-product strong {
          font-weight: 600;
      }

      .invoice-qty {
          text-align: center;
          color: var(--gray-600);
      }

      .invoice-price,
      .invoice-amount {
          text-align: right;
          color: var(--gray-700);
      }

      .invoice-amount {
          font-weight: 600;
          color: var(--dark);
      }

      .invoice-empty-items {
          text-align: center;
          padding: 30px !important;
          color: var(--gray-400);
      }

      .invoice-empty-items i {
          display: block;
          font-size: 1.5rem;
          margin-bottom: 5px;
      }

      /* =========================
   BOTTOM
   ========================= */

      .invoice-bottom {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          gap: 30px;
          padding: 22px 28px 26px;
      }

      .invoice-note {
          display: flex;
          align-items: flex-start;
          gap: 10px;
          max-width: 330px;
      }

      .invoice-note-icon {
          width: 34px;
          height: 34px;
          flex-shrink: 0;
          border-radius: 9px;
          background: var(--primary-bg);
          color: var(--primary-dark);
          display: flex;
          align-items: center;
          justify-content: center;
      }

      .invoice-note strong {
          font-size: 0.78rem;
          color: var(--dark);
      }

      .invoice-note p {
          margin-top: 2px;
          color: var(--gray-400);
          font-size: 0.7rem;
      }

      .invoice-summary {
          width: 280px;
      }

      .invoice-summary-row {
          display: flex;
          justify-content: space-between;
          padding: 6px 0;
          color: var(--gray-500);
          font-size: 0.78rem;
      }

      .invoice-summary-row strong {
          color: var(--dark);
          font-weight: 600;
      }

      .invoice-total-row {
          display: flex;
          justify-content: space-between;
          align-items: center;
          border-top: 2px solid var(--dark);
          margin-top: 8px;
          padding-top: 12px;
          font-size: 0.95rem;
      }

      .invoice-total-row strong {
          font-size: 1.25rem;
          color: var(--primary-dark);
      }

      /* =========================
   FOOTER
   ========================= */

      .invoice-footer {
          display: flex;
          justify-content: space-between;
          gap: 15px;
          padding: 12px 28px;
          background: var(--gray-50);
          border-top: 1px solid var(--gray-200);
          color: var(--gray-400);
          font-size: 0.65rem;
      }

      .invoice-footer span {
          display: flex;
          align-items: center;
          gap: 5px;
      }

      .invoice-footer i {
          color: var(--primary-dark);
      }

      /* =========================
   ACTIONS
   ========================= */

      .invoice-modal-actions {
          max-width: 820px;
          margin: 14px auto 0;
          display: flex;
          justify-content: flex-end;
          gap: 8px;
          flex-wrap: wrap;
      }

      /* =========================
   MOBILE
   ========================= */

      @media (max-width: 768px) {
          .invoice-top {
              padding: 22px 20px;
          }

          .invoice-info-grid {
              grid-template-columns: 1fr 1fr;
          }

          .invoice-items-section {
              padding: 20px 16px 8px;
          }

          .invoice-table-wrap {
              overflow-x: auto;
          }

          .invoice-table {
              min-width: 620px;
          }

          .invoice-bottom {
              flex-direction: column;
              align-items: stretch;
              padding: 18px 16px;
          }

          .invoice-note {
              max-width: none;
          }

          .invoice-summary {
              width: 100%;
          }

          .invoice-footer {
              flex-direction: column;
              padding: 12px 16px;
          }

          .invoice-modal-actions {
              justify-content: stretch;
          }

          .invoice-modal-actions .btn {
              flex: 1;
          }
      }

      @media (max-width: 480px) {
          .invoice-top {
              align-items: flex-start;
          }

          .invoice-heading span {
              font-size: 1.3rem;
          }

          .invoice-brand h2 {
              font-size: 1rem;
          }

          .invoice-info-grid {
              grid-template-columns: 1fr;
          }

          .invoice-info-box {
              min-height: 70px;
          }
      }

      /* =========================================================
   PRINT — A4 INVOICE
   ========================================================= */

      @media print {
          @page {
              size: A4;
              margin: 10mm;
          }

          html,
          body {
              width: 100%;
              background: #fff !important;
          }

          body * {
              visibility: hidden !important;
          }

          .invoice-paper,
          .invoice-paper * {
              visibility: visible !important;
          }

          .invoice-paper {
              position: absolute;
              left: 0;
              top: 0;

              width: 100%;
              max-width: none;

              margin: 0;
              padding: 0;

              border: none;
              border-radius: 0;
              box-shadow: none;

              background: #fff;
          }

          .invoice-modal-actions,
          .modal-header,
          .no-print {
              display: none !important;
          }

          .invoice-table tbody tr:hover td {
              background: transparent !important;
          }

          .invoice-line {
              -webkit-print-color-adjust: exact;
              print-color-adjust: exact;
          }

          .invoice-brand-icon,
          .invoice-status,
          .invoice-note-icon,
          .invoice-footer,
          .invoice-table thead {
              -webkit-print-color-adjust: exact;
              print-color-adjust: exact;
          }

          .invoice-table tr {
              break-inside: avoid;
              page-break-inside: avoid;
          }

          .invoice-items-section {
              break-inside: auto;
          }

          .invoice-bottom {
              break-inside: avoid;
              page-break-inside: avoid;
          }

          .invoice-footer {
              margin-top: 10px;
          }
      }

      /* Invoice modal needs a wider container */
      .modal-overlay .modal:has(.invoice-modal) {
          max-width: 920px;
          width: 95vw;
          padding: 24px;
      }

      .hero-overlay {
          position: absolute;
          top: 44%;
          left: 8%;
          transform: translateY(-50%);
          max-width: 450px;
          color: white;
      }

      .hero-overlay h1 {
          font-size: 3.5rem;
          line-height: 1.05;
          margin-bottom: 16px;
      }

      .hero-overlay p {
          font-size: 1.1rem;
          margin-bottom: 24px;
      }

      .landing-hero {
          position: relative;
          width: 100%;
          height: 800px;
          overflow: hidden;
      }

      .hero-image {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
      }

      .hero-image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          display: block;
      }

      @media (max-width: 768px) {
          .landing-hero {
              height: 560px;
          }

          .hero-image img {
              object-position: center;
          }
      }

      .auth-brand-left {
          position: absolute;
          z-index: 2;

          left: 7%;
          top: 50%;

          transform: translateY(-50%);

          font-size: clamp(4rem, 7vw, 7rem);
          font-weight: 900;
          letter-spacing: -0.07em;

          color: #25d366;

          text-shadow: 0 5px 20px rgba(0, 0, 0, 0.45);

          white-space: nowrap;
      }

      @media (max-width: 900px) {
          .auth-brand-left {
              display: none;
          }
      }

      .chat-container {
          background: var(--card);
          border-radius: var(--radius);
          border: 1px solid var(--gray-100);
          box-shadow: var(--shadow);
          margin: 0 auto;

          display: flex;
          flex-direction: column;

          /* Important */
          height: calc(100vh - 180px);
          min-height: 520px;

          overflow: hidden;
      }

      /* =========================
        FIXED AI HEADER
        ========================= */

      .chat-header {
          flex: 0 0 auto;

          height: 72px;
          min-height: 72px;

          padding: 14px 20px;

          border-bottom: 1px solid var(--gray-100);

          display: flex;
          align-items: center;
          gap: 12px;

          background: var(--gray-50);

          position: relative;
          z-index: 2;
      }

      /* =========================
   ONLY CHAT AREA SCROLLS
   ========================= */

      .chat-messages {
          flex: 1 1 auto;

          min-height: 0;

          padding: 20px;

          overflow-y: auto;
          overflow-x: hidden;

          display: flex;
          flex-direction: column;
          gap: 12px;

          background: var(--gray-50);

          /* Smooth scrolling */
          scroll-behavior: smooth;

          /* Prevent layout movement */
          overscroll-behavior: contain;
      }

      /* =========================
   CHAT MESSAGE
   ========================= */

      .chat-msg {
          max-width: 80%;

          padding: 12px 18px;

          border-radius: var(--radius-sm);

          font-size: 0.95rem;
          line-height: 1.5;

          animation: fadeIn 0.25s ease;

          /* Don't allow long messages to break layout */
          overflow-wrap: anywhere;
      }

      .chat-msg.user {
          align-self: flex-end;

          background: var(--primary);
          color: #fff;

          border-bottom-right-radius: 4px;
      }

      .chat-msg.bot {
          align-self: flex-start;

          background: var(--card);
          border: 1px solid var(--gray-200);

          color: var(--dark);

          border-bottom-left-radius: 4px;
      }

      /* =========================
   FIXED BOTTOM AREA
   ========================= */

      .chat-input-area {
          flex: 0 0 auto;

          background: var(--card);

          border-top: 1px solid var(--gray-100);

          position: relative;
          z-index: 3;
      }

      /* =========================
   QUICK CHIPS
   ========================= */

      .quick-chips {
          display: flex;

          flex-wrap: nowrap;

          gap: 6px;

          padding: 8px 20px 10px;

          border-top: none;

          background: var(--card);

          overflow-x: auto;
          overflow-y: hidden;

          scrollbar-width: none;
      }

      .quick-chips::-webkit-scrollbar {
          display: none;
      }

      .quick-chips .chip {
          flex: 0 0 auto;

          padding: 5px 14px;

          border-radius: 20px;

          background: var(--gray-50);

          border: 1px solid var(--gray-200);

          font-size: 0.75rem;
          font-weight: 500;

          color: var(--gray-600);

          transition: all var(--transition);

          cursor: pointer;

          white-space: nowrap;
      }

      .quick-chips .chip:hover {
          border-color: var(--primary);

          color: var(--primary-dark);

          background: var(--primary-bg);
      }

      /* =========================
   INPUT
   ========================= */

      .chat-input {
          display: flex;

          align-items: center;

          gap: 10px;

          padding: 10px 20px 14px;

          border-top: none;

          background: var(--card);
      }

      .chat-input input {
          flex: 1;

          min-width: 0;

          height: 46px;

          padding: 10px 16px;

          border: 1.5px solid var(--gray-200);

          border-radius: 30px;

          background: var(--gray-50);

          transition: all var(--transition);
      }

      .chat-input input:focus {
          border-color: var(--primary);

          box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.1);

          background: #fff;
      }

      /* =========================
   SEND BUTTON
   ========================= */

      .chat-input .btn {
          flex: 0 0 46px;

          width: 46px;
          height: 46px;

          padding: 0;

          border-radius: 50%;

          background: var(--primary);

          color: #fff;

          font-size: 1.2rem;

          display: flex;
          align-items: center;
          justify-content: center;
      }

      .chat-input .btn:hover {
          background: var(--primary-dark);

          transform: scale(1.02);
      }

      /* =========================
   MOBILE
   ========================= */

      @media (max-width: 768px) {

          .chat-container {
              height: calc(100vh - 150px);

              min-height: 480px;

              border-radius: 12px;
          }

          .chat-header {
              height: 64px;
              min-height: 64px;

              padding: 12px 16px;
          }

          .chat-messages {
              padding: 16px 12px;
          }

          .chat-msg {
              max-width: 92%;
          }

          .quick-chips {
              padding-left: 12px;
              padding-right: 12px;
          }

          .chat-input {
              padding: 8px 12px 12px;
          }
      }

      @media (max-width: 480px) {

          .chat-container {
              height: calc(100vh - 130px);

              min-height: 450px;

              margin-bottom: 100px;
          }

          .chat-header {
              height: 60px;
              min-height: 60px;
          }

          .chat-input input {
              height: 44px;
          }

          .chat-input .btn {
              width: 44px;
              height: 44px;
              flex-basis: 44px;
          }
      }