/* ═══════════════════════════════════════════════════════════
   Chủ Quán AI — Buồng Lái F&B Chat Styles
   Version: 2.0 | Generated: 2026-10-02 04:13
   ═══════════════════════════════════════════════════════════ */

:root {
      /* Brand & Energy Colors */
      --primary: #FF5E1E;
      --primary-hover: #E04D12;
      --primary-light: #FFF2EC;
      --primary-glow: rgba(255, 94, 30, 0.25);
      
      /* Salekit.io Core Color System */
      --salekit-navy: #0F1738;
      --salekit-indigo: #15204D;
      --salekit-dark: #10183D;
      --salekit-blue: #2563EB;
      --salekit-blue-hover: #1D4ED8;
      --salekit-blue-light: #EFF6FF;
      --salekit-accent: #60A5FA;
      
      --amber: #D97706;
      --amber-light: #FEF3C7;
      
      --dark-bg: #0B0F19;
      --dark-card: #131A2B;
      --dark-card-hover: #1A243D;
      --dark-border: rgba(255, 255, 255, 0.08);
      --dark-text: #F8FAFC;
      --dark-muted: #94A3B8;

      --light-bg: #F8FAFC;
      --light-card: #FFFFFF;
      --light-border: rgba(226, 232, 240, 0.9);
      --light-text: #0F172A;
      --light-muted: #64748B;

      --emerald: #10B981;
      --emerald-light: #ECFDF5;
      --rose: #F43F5E;
      --rose-light: #FFF1F2;
      --blue: #0284C7;
      --blue-light: #E0F2FE;
      --purple: #8B5CF6;
      --purple-light: #F5F3FF;
      
      --radius: 12px;
      --radius-sm: 8px;
      --radius-lg: 16px;
      --radius-xl: 20px;
      --radius-pill: 9999px;
      --transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
      --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
      --font-body: 'Inter', system-ui, -apple-system, sans-serif;
    }

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

    body {
      font-family: var(--font-body);
      background-color: var(--light-bg);
      color: var(--light-text);
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      overflow-x: hidden;
      transition: background-color 0.3s ease, color 0.3s ease;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
    }

    body.dark-mode {
      background-color: var(--dark-bg);
      color: var(--dark-text);
    }

    /* Salekit Atmosphere Blur Orbs & Dot Grid */
    .salekit-orb-blue {
      position: absolute;
      width: 480px;
      height: 380px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(37, 99, 235, 0.25) 0%, transparent 70%);
      filter: blur(100px);
      pointer-events: none;
      z-index: 0;
    }
    .salekit-orb-indigo {
      position: absolute;
      width: 450px;
      height: 350px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(99, 102, 241, 0.22) 0%, transparent 70%);
      filter: blur(110px);
      pointer-events: none;
      z-index: 0;
    }
    .salekit-orb-amber {
      position: absolute;
      width: 380px;
      height: 300px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(245, 158, 11, 0.16) 0%, transparent 70%);
      filter: blur(80px);
      pointer-events: none;
      z-index: 0;
    }
    .dot-grid-dark {
      background-image: radial-gradient(rgba(129, 140, 248, 0.16) 1px, transparent 1px);
      background-size: 24px 24px;
    }
    .dot-grid-light {
      background-image: radial-gradient(rgba(148, 163, 184, 0.22) 1px, transparent 1px);
      background-size: 24px 24px;
    }

    /* Salekit Process Pill Badge */
    .process-pill-badge {
      display: inline-flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 6px;
      padding: 5px 16px;
      border-radius: var(--radius-pill);
      background: rgba(15, 23, 56, 0.85);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      color: #cbd5e1;
      font-size: 11.5px;
      font-weight: 700;
      border: 1px solid rgba(255, 255, 255, 0.12);
      box-shadow: 0 4px 12px rgba(0,0,0,0.18);
      margin-bottom: 12px;
    }
    .process-pill-badge span.accent {
      color: var(--salekit-accent);
      font-weight: 800;
    }

    /* Salekit Pill CTA Button with Arrow Circle */
    .btn-salekit-primary {
      background: linear-gradient(135deg, var(--salekit-blue) 0%, var(--salekit-blue-hover) 100%);
      color: #FFFFFF !important;
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 13.5px;
      padding: 9px 20px;
      border-radius: var(--radius-pill);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      border: 1px solid rgba(147, 197, 253, 0.35);
      box-shadow: 0 8px 16px -2px rgba(37, 99, 235, 0.4);
      cursor: pointer;
      transition: var(--transition);
      white-space: nowrap;
    }
    .btn-salekit-primary:hover {
      background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
      transform: translateY(-2px) scale(1.02);
      box-shadow: 0 12px 24px -2px rgba(37, 99, 235, 0.55);
    }
    .btn-arrow-circle {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.22);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      transition: transform 0.2s ease;
    }
    .btn-salekit-primary:hover .btn-arrow-circle {
      transform: translateX(2px);
    }

    /* Salekit Tinted Icon Squircle */
    .icon-squircle {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 19px;
      flex-shrink: 0;
      transition: transform 0.25s ease;
    }
    .sq-blue { background: rgba(37, 99, 235, 0.1); color: #2563eb; border: 1px solid rgba(37, 99, 235, 0.22); }
    .sq-amber { background: rgba(245, 158, 11, 0.1); color: #d97706; border: 1px solid rgba(245, 158, 11, 0.24); }
    .sq-emerald { background: rgba(16, 185, 129, 0.1); color: #059669; border: 1px solid rgba(16, 185, 129, 0.24); }
    .sq-purple { background: rgba(139, 92, 246, 0.1); color: #7c3aed; border: 1px solid rgba(139, 92, 246, 0.24); }
    .sq-rose { background: rgba(244, 63, 94, 0.1); color: #e11d48; border: 1px solid rgba(244, 63, 94, 0.24); }
    .sq-orange { background: rgba(255, 94, 30, 0.1); color: #ea580c; border: 1px solid rgba(255, 94, 30, 0.24); }

    /* Top Navigation Bar - Desktop Cockpit Header */
    .topbar {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid var(--light-border);
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 18px;
      height: 56px;
      transition: var(--transition);
    }

    body.dark-mode .topbar {
      background: rgba(15, 23, 56, 0.90);
      border-bottom: 1px solid var(--dark-border);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    }

    .brand-wrap {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      text-decoration: none;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .brand-logo-icon {
      width: 36px;
      height: 36px;
      background: linear-gradient(135deg, #FF5E1E 0%, #D97706 100%);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 19px;
      box-shadow: 0 4px 14px var(--primary-glow);
      flex-shrink: 0;
    }

    .brand-title {
      font-family: var(--font-display);
      font-weight: 800;
      font-size: 16px;
      color: var(--light-text);
      letter-spacing: -0.3px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      white-space: nowrap;
      line-height: 1;
      flex-shrink: 0;
    }

    body.dark-mode .brand-title { color: #FFFFFF; }

    .brand-title .badge {
      font-size: 9.5px;
      font-weight: 800;
      padding: 2.5px 7px;
      border-radius: var(--radius-pill);
      background: rgba(37, 99, 235, 0.12);
      color: var(--salekit-blue);
      border: 1px solid rgba(37, 99, 235, 0.25);
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    body.dark-mode .brand-title .badge {
      background: rgba(96, 165, 250, 0.15);
      color: var(--salekit-accent);
      border-color: rgba(96, 165, 250, 0.35);
    }

    /* Desktop Sync Status Badge */
    .desktop-sync-status {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 10.5px;
      font-weight: 700;
      color: #10B981;
      background: rgba(16, 185, 129, 0.08);
      border: 1px solid rgba(16, 185, 129, 0.22);
      padding: 2px 7px;
      border-radius: var(--radius-pill);
      letter-spacing: 0.2px;
    }
    .sync-pulse {
      width: 6px;
      height: 6px;
      background: #10B981;
      border-radius: 50%;
      box-shadow: 0 0 6px #10B981;
      animation: sync-pulse-glow 1.8s infinite;
    }
    @keyframes sync-pulse-glow {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.35; transform: scale(1.2); }
    }

    /* Top Navigation Tabs - Pill Segments */
    .nav-tabs {
      display: flex;
      align-items: center;
      gap: 3px;
      background: rgba(0, 0, 0, 0.04);
      padding: 3px;
      border-radius: var(--radius-pill);
      flex: 1;
      min-width: 0;
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .nav-tabs::-webkit-scrollbar {
      display: none;
    }

    body.dark-mode .nav-tabs { 
      background: rgba(255, 255, 255, 0.05); 
      border: 1px solid rgba(255, 255, 255, 0.06);
    }

    .nav-tab-btn {
      border: none;
      background: transparent;
      padding: 5px 9.5px;
      border-radius: var(--radius-pill);
      font-family: var(--font-display);
      font-size: 11.5px;
      font-weight: 700;
      color: var(--light-muted);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      white-space: nowrap;
      flex-shrink: 0;
      transition: var(--transition);
    }

    body.dark-mode .nav-tab-btn { color: var(--dark-muted); }
    .nav-tab-btn:hover { color: var(--salekit-blue); }
    body.dark-mode .nav-tab-btn:hover { color: var(--salekit-accent); }

    .nav-tab-btn.active {
      background: #FFFFFF;
      color: var(--salekit-blue);
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
      font-weight: 700;
    }

    body.dark-mode .nav-tab-btn.active {
      background: var(--dark-card);
      color: var(--salekit-accent);
      box-shadow: 0 2px 8px rgba(0,0,0,0.35);
      border: 1px solid rgba(96, 165, 250, 0.25);
    }

    /* Highlight Membership Tab */
    .nav-tab-btn.tab-vip-btn {
      color: var(--amber);
      font-weight: 700;
    }

    .nav-tab-btn.tab-vip-btn.active {
      background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
      color: #B45309;
      box-shadow: 0 2px 8px rgba(217, 119, 6, 0.2);
    }

    body.dark-mode .nav-tab-btn.tab-vip-btn.active {
      background: rgba(217, 119, 6, 0.25);
      color: #FBBF24;
      border-color: rgba(251, 191, 36, 0.35);
    }

    /* Ecosystem Quick Links (Mail, Web, Drive) */
    .topbar-ecosystem-links {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .eco-btn {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: 12px;
      font-weight: 700;
      padding: 5px 8px;
      font-size: 11.5px;
      border-radius: 8px;
      text-decoration: none;
      transition: var(--transition);
      border: 1px solid transparent;
      flex-shrink: 0;
      white-space: nowrap;
    }

    .eco-btn.mail { background: #FFF7ED; color: #EA580C; border-color: #FFEDD5; }
    .eco-btn.drive { background: #ECFDF5; color: #16A34A; border-color: #D1FAE5; }
    .eco-btn.web { background: #E0F2FE; color: #0284C7; border-color: #BAE6FD; }
    .eco-btn.email-gen { background: linear-gradient(135deg, #FF5E1E, #D97706); color: #FFF; }

    .eco-btn:hover { transform: translateY(-1px); filter: brightness(0.96); }

    @media (max-width: 1440px) {
      .topbar-ecosystem-links .eco-btn span.eco-text {
        display: none;
      }
      .topbar-ecosystem-links .eco-btn {
        padding: 5px 7px;
      }
    }

    /* Sleek Skill Pill in Chat Input */
    .btn-skill-pill {
      border: 1px solid var(--light-border);
      background: #FFFFFF;
      height: 32px;
      padding: 0 10px;
      border-radius: 8px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: var(--light-text);
      cursor: pointer;
      font-size: 12px;
      font-weight: 700;
      white-space: nowrap;
      flex-shrink: 0;
      transition: var(--transition);
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    }
    body.dark-mode .btn-skill-pill {
      background: var(--dark-card);
      border-color: var(--dark-border);
      color: var(--dark-text);
    }
    .btn-skill-pill:hover {
      border-color: var(--primary);
      color: var(--primary);
      background: rgba(255, 94, 30, 0.05);
    }

    .btn-icon {
      border: 1px solid var(--light-border);
      background: #FFFFFF;
      color: var(--light-text);
      width: 34px;
      height: 34px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      font-size: 15px;
      transition: var(--transition);
    }

    body.dark-mode .btn-icon {
      border-color: var(--dark-border);
      background: var(--dark-card);
      color: var(--dark-text);
    }


    /* ===== MOBILE SIDEBAR TOGGLE (P1 FIX) ===== */
    .mobile-sidebar-toggle {
      display: none;
      border: none;
      background: transparent;
      font-size: 20px;
      cursor: pointer;
      padding: 4px 8px;
      border-radius: 6px;
      color: var(--light-text);
      transition: var(--transition);
    }
    body.dark-mode .mobile-sidebar-toggle { color: var(--dark-text); }
    .mobile-sidebar-toggle:hover {
      background: rgba(0,0,0,0.06);
    }
    @media (max-width: 768px) {
      .mobile-sidebar-toggle { display: flex; align-items: center; justify-content: center; }
    }
    .sidebar-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(15, 23, 42, 0.5);
      z-index: 199;
      backdrop-filter: blur(2px);
    }
    .sidebar-overlay.active { display: block; }

    /* ===== TAB SCROLL INDICATOR (P1 FIX) ===== */
    .nav-tabs-wrap {
      position: relative;
      flex: 1;
      min-width: 0;
    }
    .nav-tabs-wrap::after {
      content: '';
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      width: 40px;
      background: linear-gradient(to right, transparent, rgba(255,255,255,0.9));
      pointer-events: none;
      z-index: 1;
      opacity: 1;
      transition: opacity 0.2s;
    }
    body.dark-mode .nav-tabs-wrap::after {
      background: linear-gradient(to right, transparent, rgba(15, 23, 56, 0.95));
    }

    /* ===== ONBOARDING TOOLTIP SYSTEM (P3 FIX) ===== */
    .onboard-tooltip {
      position: absolute;
      background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
      color: #f8fafc;
      padding: 12px 16px;
      border-radius: 10px;
      font-size: 12.5px;
      font-weight: 600;
      line-height: 1.5;
      max-width: 280px;
      box-shadow: 0 12px 28px rgba(0,0,0,0.3);
      border: 1px solid rgba(96, 165, 250, 0.3);
      z-index: 10001;
      animation: tooltipFadeIn 0.3s ease;
      pointer-events: auto;
    }
    .onboard-tooltip::before {
      content: '';
      position: absolute;
      top: -6px;
      left: 20px;
      width: 12px;
      height: 12px;
      background: #1e293b;
      border-left: 1px solid rgba(96, 165, 250, 0.3);
      border-top: 1px solid rgba(96, 165, 250, 0.3);
      transform: rotate(45deg);
    }
    .onboard-tooltip .tip-step {
      font-size: 10px;
      font-weight: 800;
      color: #60a5fa;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 4px;
    }
    .onboard-tooltip .tip-actions {
      display: flex;
      gap: 8px;
      margin-top: 10px;
    }
    .onboard-tooltip .tip-btn {
      padding: 4px 12px;
      border-radius: 6px;
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
      border: none;
      transition: all 0.15s;
    }
    .tip-btn-next {
      background: #2563eb;
      color: #fff;
    }
    .tip-btn-next:hover { background: #1d4ed8; }
    .tip-btn-skip {
      background: transparent;
      color: #94a3b8;
      border: 1px solid #334155 !important;
    }
    .tip-btn-skip:hover { color: #f8fafc; }
    @keyframes tooltipFadeIn {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    /* Main Container */
    .main-wrapper {
      flex: 1;
      display: flex;
      height: calc(100vh - 55px);
      overflow: hidden;
    }

    .tab-panel {
      display: none;
      width: 100%;
      height: 100%;
      overflow-y: auto;
    }

    .tab-panel.active { display: flex; }

    /* TAB 1: CHAT STUDIO LAYOUT */
    .chat-container {
      width: 100%;
      display: flex;
      height: 100%;
      overflow: hidden;
    }

    /* Chat Sidebar */
    .chat-sidebar {
      width: 280px;
      background: #FFFFFF;
      border-right: 1px solid var(--light-border);
      display: flex;
      flex-direction: column;
      flex-shrink: 0;
      transition: var(--transition);
      overflow: hidden;
    }

    body.dark-mode .chat-sidebar {
      background: #0E1424;
      border-right: 1px solid var(--dark-border);
    }

    .sidebar-actions {
      padding: 12px;
      border-bottom: 1px solid var(--light-border);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    body.dark-mode .sidebar-actions { border-bottom-color: var(--dark-border); }

    .btn-new-chat {
      background: linear-gradient(135deg, #FF5E1E, #D97706);
      color: #FFF;
      border: none;
      padding: 9px 14px;
      border-radius: 9px;
      font-family: var(--font-display);
      font-size: 13.5px;
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      cursor: pointer;
      box-shadow: 0 4px 12px var(--primary-glow);
      transition: var(--transition);
    }

    .btn-new-chat:hover { transform: translateY(-1px); }

    /* TEAM BOT SECTION */
    .sb-team-bot {
      padding: 12px 10px 8px;
      border-bottom: 1px solid var(--light-border);
      max-height: 250px;
      overflow-y: auto;
    }

    body.dark-mode .sb-team-bot { border-bottom-color: var(--dark-border); }

    .section-label {
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      color: var(--primary);
      margin-bottom: 8px;
      padding: 0 6px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .bot-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 8px;
      font-size: 12px;
      color: var(--light-text);
      cursor: pointer;
      transition: var(--transition);
      margin-bottom: 2px;
    }

    body.dark-mode .bot-item { color: var(--dark-text); }

    .bot-item:hover {
      background: rgba(255, 94, 30, 0.08);
      color: var(--primary);
    }

    body.dark-mode .bot-item:hover {
      background: rgba(255, 94, 30, 0.15);
      color: #FF8A50;
    }

    .bot-item.active {
      background: var(--primary-light);
      color: var(--primary);
      font-weight: 700;
    }

    body.dark-mode .bot-item.active {
      background: rgba(255, 94, 30, 0.2);
      color: #FF8A50;
    }

    .bot-icon { font-size: 15px; flex-shrink: 0; }
    .bot-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }

    /* History */
    .sidebar-history {
      flex: 1;
      overflow-y: auto;
      padding: 10px;
    }

    .history-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 10px;
      border-radius: 8px;
      font-size: 12.5px;
      color: var(--light-text);
      cursor: pointer;
      transition: var(--transition);
      margin-bottom: 3px;
    }

    body.dark-mode .history-item { color: var(--dark-text); }
    .history-item:hover { background: rgba(0,0,0,0.04); }
    body.dark-mode .history-item:hover { background: rgba(255,255,255,0.05); }

    .history-item.active {
      background: var(--primary-light);
      color: var(--primary);
      font-weight: 600;
    }

    body.dark-mode .history-item.active {
      background: rgba(255, 94, 30, 0.15);
      color: #FF8A50;
    }

    .history-title {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      flex: 1;
    }

    .history-del-btn {
      opacity: 0;
      border: none;
      background: transparent;
      color: var(--rose);
      cursor: pointer;
      padding: 2px 4px;
      font-size: 13px;
    }

    .history-item:hover .history-del-btn { opacity: 1; }

    /* Sidebar Footer */
    .sidebar-footer {
      padding: 12px;
      border-top: 1px solid var(--light-border);
      font-size: 11px;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    body.dark-mode .sidebar-footer { border-top-color: var(--dark-border); }

    .system-status {
      display: flex;
      align-items: center;
      gap: 6px;
      color: var(--emerald);
      font-weight: 700;
    }

    .status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--emerald);
      box-shadow: 0 0 8px var(--emerald);
      animation: pulse-dot 2s infinite;
    }

    @keyframes pulse-dot {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.1); }
    }

    /* Chat Area */
    .chat-main {
      flex: 1;
      display: flex;
      flex-direction: column;
      background: var(--light-bg);
      position: relative;
      height: 100%;
      overflow: hidden;
    }

    body.dark-mode .chat-main { background: var(--dark-bg); }

    .chat-messages {
      flex: 1;
      overflow-y: auto;
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    /* Welcome Banner */
    .welcome-fnb {
      max-width: 880px;
      margin: 10px auto;
      width: 100%;
    }

    .hero-box {
      background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFF 100%);
      border: 1px solid var(--light-border);
      border-radius: var(--radius-xl);
      padding: 30px 24px;
      text-align: center;
      position: relative;
      overflow: hidden;
      box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
    }

    body.dark-mode .hero-box {
      background: linear-gradient(180deg, #0F1738 0%, #15204D 50%, #10183D 100%);
      border-color: rgba(255, 255, 255, 0.08);
      box-shadow: 0 20px 40px -4px rgba(0, 0, 0, 0.45);
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(37, 99, 235, 0.1);
      color: var(--salekit-blue);
      border: 1px solid rgba(37, 99, 235, 0.25);
      padding: 4px 14px;
      border-radius: var(--radius-pill);
      font-size: 11px;
      font-weight: 700;
      margin-bottom: 12px;
      font-family: var(--font-display);
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    body.dark-mode .hero-badge {
      background: rgba(96, 165, 250, 0.15);
      color: var(--salekit-accent);
      border-color: rgba(96, 165, 250, 0.3);
    }

    .hero-title {
      font-family: var(--font-display);
      font-size: clamp(24px, 3.6vw, 36px);
      font-weight: 900;
      color: var(--light-text);
      line-height: 1.2;
      letter-spacing: -0.03em;
      margin-bottom: 8px;
    }

    body.dark-mode .hero-title { color: #FFFFFF; }

    .hero-accent-text {
      color: var(--salekit-blue);
    }
    body.dark-mode .hero-accent-text {
      color: var(--salekit-accent);
    }

    .hero-desc {
      font-size: 14px;
      color: var(--light-muted);
      max-width: 680px;
      margin: 0 auto 18px;
      line-height: 1.65;
      font-weight: 500;
    }

    body.dark-mode .hero-desc { color: #CBD5E1; }

    /* Ecosystem Action Banner - Salekit Bento Cards */
    .eco-banner-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
      gap: 12px;
      margin-bottom: 22px;
      position: relative;
      z-index: 1;
    }

    .eco-card-mini {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: 14px;
      padding: 12px 14px;
      text-align: left;
      cursor: pointer;
      transition: var(--transition);
      text-decoration: none;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.03);
    }

    body.dark-mode .eco-card-mini {
      background: #131A2B;
      border-color: rgba(255, 255, 255, 0.08);
      box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    }

    .eco-card-mini:hover {
      border-color: var(--salekit-blue);
      transform: translateY(-3px);
      box-shadow: 0 12px 24px -4px rgba(37, 99, 235, 0.15);
    }
    body.dark-mode .eco-card-mini:hover {
      border-color: var(--salekit-accent);
      box-shadow: 0 12px 24px -4px rgba(37, 99, 235, 0.35);
    }

    .eco-mini-title { font-size: 12.5px; font-weight: 800; color: var(--light-text); font-family: var(--font-display); }
    body.dark-mode .eco-mini-title { color: #FFF; }
    .eco-mini-sub { font-size: 11px; color: var(--light-muted); margin-top: 1px; }
    body.dark-mode .eco-mini-sub { color: #94A3B8; }

    /* Cockpit Hero Card Link (Thẻ liên kết buồng lái nổi bật) */
    .cockpit-hero-card {
      background: linear-gradient(135deg, #0b1329 0%, #1e293b 50%, #0f172a 100%);
      border: 1.5px solid rgba(59, 130, 246, 0.45);
      box-shadow: 0 12px 32px -4px rgba(15, 23, 42, 0.35), 0 0 24px rgba(59, 130, 246, 0.2);
      border-radius: 16px;
      padding: 20px 22px;
      margin-bottom: 18px;
      text-align: left;
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease;
    }
    .cockpit-hero-card:hover {
      border-color: rgba(96, 165, 250, 0.85);
      box-shadow: 0 16px 40px -4px rgba(37, 99, 235, 0.35), 0 0 32px rgba(59, 130, 246, 0.35);
      transform: translateY(-2px);
    }
    .cockpit-hero-card::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -15%;
      width: 320px;
      height: 320px;
      background: radial-gradient(circle, rgba(59, 130, 246, 0.18) 0%, transparent 70%);
      pointer-events: none;
    }
    .chc-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 12px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      padding-bottom: 10px;
      position: relative;
      z-index: 1;
    }
    .chc-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(16, 185, 129, 0.15);
      border: 1px solid rgba(16, 185, 129, 0.35);
      color: #34d399;
      font-size: 11px;
      font-weight: 800;
      padding: 3px 10px;
      border-radius: 99px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .chc-pulse {
      width: 7px;
      height: 7px;
      background: #10b981;
      border-radius: 50%;
      box-shadow: 0 0 8px #10b981;
      animation: pulse 1.5s infinite;
    }
    .chc-link-display {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, 0.07);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 8px;
      padding: 4px 10px;
      font-size: 11.5px;
      color: #94a3b8;
    }
    .chc-link-text {
      color: #60a5fa;
      font-family: monospace;
      font-weight: 700;
      text-decoration: none;
    }
    .chc-link-text:hover {
      text-decoration: underline;
      color: #93c5fd;
    }
    .chc-copy-btn {
      background: rgba(59, 130, 246, 0.25);
      border: 1px solid rgba(59, 130, 246, 0.45);
      color: #bfdbfe;
      padding: 2px 8px;
      border-radius: 5px;
      font-size: 10.5px;
      cursor: pointer;
      font-weight: 700;
      transition: all 0.2s;
    }
    .chc-copy-btn:hover {
      background: #2563eb;
      color: #fff;
    }
    .chc-body {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      position: relative;
      z-index: 1;
    }
    .chc-info {
      flex: 1;
      min-width: 280px;
    }
    .chc-title {
      font-size: 17.5px;
      font-weight: 800;
      color: #f8fafc;
      margin-bottom: 6px;
      display: flex;
      align-items: center;
      gap: 8px;
      letter-spacing: -0.2px;
    }
    .chc-desc {
      font-size: 12.5px;
      color: #cbd5e1;
      line-height: 1.5;
      margin: 0;
    }
    .chc-cta-wrap {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: flex-end;
    }
    .btn-chc-open {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
      color: #ffffff !important;
      font-weight: 800;
      font-size: 13.5px;
      padding: 10px 20px;
      border-radius: 10px;
      text-decoration: none;
      box-shadow: 0 4px 16px rgba(37, 99, 235, 0.45);
      border: 1px solid rgba(147, 197, 253, 0.35);
      cursor: pointer;
      transition: all 0.25s ease;
      white-space: nowrap;
    }
    .btn-chc-open:hover {
      background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
      box-shadow: 0 6px 22px rgba(37, 99, 235, 0.65);
      transform: translateY(-2px);
    }
    .chc-kpi-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 8px;
      margin-top: 14px;
      padding-top: 14px;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      width: 100%;
      position: relative;
      z-index: 1;
    }
    .chc-kpi-item {
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 8px;
      padding: 8px 10px;
      text-align: left;
    }
    .chc-kpi-label {
      font-size: 10px;
      color: #94a3b8;
      text-transform: uppercase;
      font-weight: 700;
      margin-bottom: 2px;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .chc-kpi-val {
      font-size: 13.5px;
      font-weight: 800;
      color: #38bdf8;
    }
    .chc-kpi-val.green { color: #34d399; }
    .chc-kpi-val.purple { color: #c084fc; }
    .chc-kpi-val.amber { color: #fbbf24; }

    /* Compact Sidebar Cockpit Card */
    .sidebar-cockpit-card {
      margin: 10px 8px 12px;
      background: linear-gradient(135deg, #1e293b, #0f172a);
      border: 1px solid rgba(59, 130, 246, 0.35);
      border-radius: 10px;
      padding: 10px 12px;
      cursor: pointer;
      transition: all 0.2s;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
      display: block;
      text-decoration: none;
    }
    .sidebar-cockpit-card:hover {
      border-color: #60a5fa;
      transform: translateY(-1px);
      box-shadow: 0 6px 14px rgba(37, 99, 235, 0.25);
    }
    .scc-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 4px;
    }
    .scc-badge {
      font-size: 9px;
      font-weight: 800;
      color: #34d399;
      background: rgba(16, 185, 129, 0.15);
      padding: 1px 6px;
      border-radius: 10px;
    }
    .scc-title {
      font-size: 10.5px;
      font-weight: 800;
      color: #93c5fd;
      letter-spacing: 0.5px;
    }
    .scc-body {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 11px;
    }
    .scc-metric {
      color: #f1f5f9;
      font-weight: 600;
    }
    .scc-link {
      color: #38bdf8;
      font-weight: 700;
    }

    /* Prompt Cards - Salekit Bento Grid (Pattern 6A, 6C) */
    .prompt-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
      gap: 14px;
      text-align: left;
      position: relative;
      z-index: 1;
    }

    .prompt-card {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: var(--radius-lg);
      padding: 16px 18px;
      cursor: pointer;
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      gap: 6px;
      position: relative;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    }

    body.dark-mode .prompt-card {
      background: #131A2B;
      border-color: rgba(255, 255, 255, 0.08);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }

    .prompt-card:hover {
      border-color: var(--salekit-blue);
      transform: translateY(-3px);
      box-shadow: 0 16px 28px -4px rgba(37, 99, 235, 0.14), 0 6px 10px -4px rgba(0,0,0,0.05);
    }
    body.dark-mode .prompt-card:hover {
      border-color: var(--salekit-accent);
      box-shadow: 0 16px 28px -4px rgba(37, 99, 235, 0.35), 0 0 20px rgba(96, 165, 250, 0.15);
    }

    .prompt-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 2px;
    }

    .prompt-tag {
      font-size: 10px;
      font-weight: 800;
      color: var(--salekit-blue);
      background: rgba(37, 99, 235, 0.08);
      border: 1px solid rgba(37, 99, 235, 0.2);
      padding: 2.5px 8px;
      border-radius: var(--radius-pill);
      text-transform: uppercase;
      letter-spacing: 0.4px;
    }
    body.dark-mode .prompt-tag {
      color: var(--salekit-accent);
      background: rgba(96, 165, 250, 0.12);
      border-color: rgba(96, 165, 250, 0.25);
    }

    .prompt-arrow-icon {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: rgba(0, 0, 0, 0.04);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      color: var(--light-muted);
      transition: all 0.2s ease;
    }
    body.dark-mode .prompt-arrow-icon {
      background: rgba(255, 255, 255, 0.06);
      color: var(--dark-muted);
    }
    .prompt-card:hover .prompt-arrow-icon {
      background: var(--salekit-blue);
      color: #FFF;
      transform: translateX(2px);
    }
    body.dark-mode .prompt-card:hover .prompt-arrow-icon {
      background: var(--salekit-accent);
      color: #0F172A;
    }

    .prompt-card-title {
      font-family: var(--font-display);
      font-size: 14.5px;
      font-weight: 800;
      color: var(--light-text);
      letter-spacing: -0.2px;
      line-height: 1.35;
    }
    body.dark-mode .prompt-card-title { color: #FFF; }

    .prompt-card-sub {
      font-size: 12px;
      color: var(--light-muted);
      line-height: 1.55;
    }
    body.dark-mode .prompt-card-sub { color: #94A3B8; }

    /* Chat Messages styling */
    .msg-row {
      display: flex;
      gap: 10px;
      max-width: 880px;
      width: 100%;
      margin: 0 auto;
      animation: fadeIn 0.3s ease;
    }

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

    .msg-row.user { flex-direction: row-reverse; }

    .msg-avatar {
      width: 34px;
      height: 34px;
      border-radius: 9px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      flex-shrink: 0;
    }

    .msg-row.ai .msg-avatar {
      background: linear-gradient(135deg, #FF5E1E, #D97706);
      color: #FFF;
      box-shadow: 0 2px 8px var(--primary-glow);
    }

    .msg-row.user .msg-avatar { background: #0284C7; color: #FFF; }

    .msg-bubble {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: var(--radius);
      padding: 16px 18px;
      max-width: calc(100% - 46px);
      font-size: 13.5px;
      line-height: 1.6;
      position: relative;
    }

    body.dark-mode .msg-bubble {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .msg-row.user .msg-bubble {
      background: linear-gradient(135deg, #FF5E1E, #F97316);
      color: #FFF;
      border: none;
      border-radius: var(--radius) 2px var(--radius) var(--radius);
    }

    .msg-bubble h1, .msg-bubble h2, .msg-bubble h3, .msg-bubble h4 {
      font-family: var(--font-display);
      margin: 12px 0 6px;
      color: var(--light-text);
    }

    body.dark-mode .msg-bubble h1, 
    body.dark-mode .msg-bubble h2, 
    body.dark-mode .msg-bubble h3, 
    body.dark-mode .msg-bubble h4 { color: #FFF; }

    .msg-bubble p { margin-bottom: 8px; }
    .msg-bubble p:last-child { margin-bottom: 0; }

    .msg-bubble table {
      width: 100%;
      border-collapse: collapse;
      margin: 10px 0;
      font-size: 12.5px;
    }

    .msg-bubble th, .msg-bubble td {
      border: 1px solid var(--light-border);
      padding: 7px 10px;
      text-align: left;
    }

    body.dark-mode .msg-bubble th, 
    body.dark-mode .msg-bubble td { border-color: var(--dark-border); }

    .msg-bubble th { background: rgba(0,0,0,0.03); font-weight: 700; }
    body.dark-mode .msg-bubble th { background: rgba(255,255,255,0.05); }

    /* Extended Message Action Toolbar */
    .msg-actions-extended {
      display: flex;
      align-items: center;
      gap: 6px;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid rgba(0,0,0,0.06);
      flex-wrap: wrap;
    }

    body.dark-mode .msg-actions-extended { border-top-color: rgba(255,255,255,0.06); }

    .btn-msg-act {
      border: 1px solid var(--light-border);
      background: rgba(0,0,0,0.02);
      color: var(--light-text);
      font-size: 11.5px;
      font-weight: 600;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 4px;
      padding: 5px 9px;
      border-radius: 6px;
      transition: var(--transition);
      text-decoration: none;
    }

    body.dark-mode .btn-msg-act {
      border-color: var(--dark-border);
      background: rgba(255,255,255,0.04);
      color: var(--dark-text);
    }

    .btn-msg-act:hover {
      border-color: var(--primary);
      color: var(--primary);
      background: var(--primary-light);
    }

    body.dark-mode .btn-msg-act:hover {
      background: rgba(255, 94, 30, 0.15);
      color: #FF8A50;
    }

    .btn-msg-act.highlight-web { color: #0284C7; font-weight: 700; }
    .btn-msg-act.highlight-drive { color: #16A34A; font-weight: 700; }
    .btn-msg-act.highlight-mail { color: #EA580C; font-weight: 700; }
    .btn-msg-act.highlight-email-bot {
      background: linear-gradient(135deg, rgba(255,94,30,0.1), rgba(217,119,6,0.1));
      color: var(--primary);
      border-color: rgba(255,94,30,0.3);
      font-weight: 700;
    }

    /* Typing indicator */
    .typing-indicator {
      display: flex;
      align-items: center;
      gap: 4px;
      padding: 4px 0;
    }

    .typing-dot {
      width: 6px;
      height: 6px;
      background: var(--primary);
      border-radius: 50%;
      animation: bounce 1.4s infinite ease-in-out both;
    }

    .typing-dot:nth-child(1) { animation-delay: -0.32s; }
    .typing-dot:nth-child(2) { animation-delay: -0.16s; }

    @keyframes bounce {
      0%, 80%, 100% { transform: scale(0); }
      40% { transform: scale(1); }
    }

    /* Bottom Input Bar */
    .chat-input-bar {
      padding: 14px 20px;
      background: #FFFFFF;
      border-top: 1px solid var(--light-border);
      position: relative;
    }

    body.dark-mode .chat-input-bar {
      background: #0E1424;
      border-top: 1px solid var(--dark-border);
    }

    .input-box-wrap {
      max-width: 880px;
      margin: 0 auto;
      background: var(--light-bg);
      border: 1px solid var(--light-border);
      border-radius: var(--radius);
      padding: 8px 12px;
      display: flex;
      align-items: flex-end;
      gap: 8px;
      transition: var(--transition);
    }

    body.dark-mode .input-box-wrap {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .input-box-wrap:focus-within {
      border-color: var(--primary);
      box-shadow: 0 0 0 2px var(--primary-glow);
    }

    .chat-textarea {
      flex: 1;
      border: none;
      background: transparent;
      color: var(--light-text);
      font-family: var(--font-body);
      font-size: 14px;
      line-height: 1.5;
      resize: none;
      outline: none;
      max-height: 160px;
      min-height: 24px;
      padding: 6px 4px;
    }

    body.dark-mode .chat-textarea { color: var(--dark-text); }
    .chat-textarea::placeholder { color: var(--light-muted); }
    body.dark-mode .chat-textarea::placeholder { color: var(--dark-muted); }

    .input-tools {
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .btn-tool {
      border: none;
      background: transparent;
      width: 32px;
      height: 32px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--light-muted);
      cursor: pointer;
      font-size: 16px;
      transition: var(--transition);
    }

    body.dark-mode .btn-tool { color: var(--dark-muted); }
    .btn-tool:hover { background: rgba(0,0,0,0.05); color: var(--primary); }
    body.dark-mode .btn-tool:hover { background: rgba(255,255,255,0.08); color: #FF8A50; }

    .btn-tool.recording {
      color: #FFF;
      background: var(--rose);
      animation: pulse-dot 1s infinite;
    }

    .btn-send {
      background: var(--primary);
      color: #FFF;
      border: none;
      width: 34px;
      height: 34px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      font-size: 15px;
      transition: var(--transition);
    }

    .btn-send:hover { background: var(--primary-hover); transform: scale(1.05); }
    .btn-send:disabled { background: #CBD5E1; cursor: not-allowed; transform: none; }
    body.dark-mode .btn-send:disabled { background: #334155; }

    /* Other Panels Common */
    .calc-container, .tool-page-wrap {
      max-width: 1040px;
      margin: 20px auto;
      padding: 0 16px 40px;
      width: 100%;
    }

    .calc-header { margin-bottom: 20px; }
    .calc-title {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 800;
      margin-bottom: 4px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .calc-desc { font-size: 13.5px; color: var(--light-muted); }
    body.dark-mode .calc-desc { color: var(--dark-muted); }

    .card-box {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: var(--radius-lg);
      padding: 20px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    }

    body.dark-mode .card-box {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .card-box-title {
      font-family: var(--font-display);
      font-size: 15px;
      font-weight: 700;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .form-group { margin-bottom: 12px; }
    .form-label {
      display: block;
      font-size: 12px;
      font-weight: 600;
      margin-bottom: 5px;
      color: var(--light-text);
    }

    body.dark-mode .form-label { color: var(--dark-text); }

    .form-input {
      width: 100%;
      padding: 8px 12px;
      border-radius: var(--radius-sm);
      border: 1px solid var(--light-border);
      background: var(--light-bg);
      color: var(--light-text);
      font-family: var(--font-body);
      font-size: 13.5px;
      outline: none;
      transition: var(--transition);
    }

    body.dark-mode .form-input {
      background: rgba(0,0,0,0.2);
      border-color: var(--dark-border);
      color: var(--dark-text);
    }

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

    /* ========================================================
       MEMBERSHIP & PREPAID WHOLESALE STYLES
    ======================================================== */
    .membership-tier-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 12px;
      margin-bottom: 24px;
    }

    .tier-badge-card {
      border: 1.5px solid var(--light-border);
      border-radius: var(--radius);
      padding: 16px;
      background: #FFFFFF;
      transition: var(--transition);
      position: relative;
      overflow: hidden;
    }

    body.dark-mode .tier-badge-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .tier-badge-card.bronze { border-top: 4px solid #B45309; }
    .tier-badge-card.silver { border-top: 4px solid #94A3B8; }
    .tier-badge-card.gold { border-top: 4px solid #F59E0B; background: linear-gradient(180deg, rgba(245,158,11,0.03) 0%, transparent 100%); }
    .tier-badge-card.diamond { border-top: 4px solid #0284C7; background: linear-gradient(180deg, rgba(2,132,199,0.04) 0%, transparent 100%); }

    .tier-card-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 8px;
    }

    .tier-card-title {
      font-family: var(--font-display);
      font-size: 14.5px;
      font-weight: 800;
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .tier-card-discount {
      font-size: 12px;
      font-weight: 800;
      padding: 2px 7px;
      border-radius: 6px;
    }

    .tier-badge-card.bronze .tier-card-discount { background: #FEF3C7; color: #92400E; }
    .tier-badge-card.silver .tier-card-discount { background: #F1F5F9; color: #334155; }
    .tier-badge-card.gold .tier-card-discount { background: #FEF3C7; color: #B45309; }
    .tier-badge-card.diamond .tier-card-discount { background: #E0F2FE; color: #0369A1; }

    .tier-perks {
      font-size: 12px;
      color: var(--light-muted);
      line-height: 1.5;
      margin-top: 6px;
    }

    body.dark-mode .tier-perks { color: var(--dark-muted); }

    /* Prepaid Wholesale Packages Grid */
    .prepaid-packages-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 14px;
      margin-bottom: 24px;
    }

    .pkg-card {
      border: 1.5px solid var(--light-border);
      border-radius: var(--radius);
      padding: 18px;
      background: #FFFFFF;
      transition: var(--transition);
      cursor: pointer;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    body.dark-mode .pkg-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .pkg-card:hover {
      border-color: var(--primary);
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    }

    .pkg-tag {
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      color: var(--primary);
      margin-bottom: 4px;
    }

    .pkg-price {
      font-family: var(--font-display);
      font-size: 22px;
      font-weight: 800;
      color: var(--light-text);
      margin-bottom: 4px;
    }

    body.dark-mode .pkg-price { color: #FFF; }

    .pkg-benefit {
      font-size: 13px;
      font-weight: 700;
      color: var(--emerald);
      margin-bottom: 8px;
    }

    .pkg-desc {
      font-size: 12px;
      color: var(--light-muted);
      line-height: 1.5;
      margin-bottom: 12px;
    }

    body.dark-mode .pkg-desc { color: var(--dark-muted); }

    .btn-select-pkg {
      width: 100%;
      border: 1px solid var(--primary);
      background: var(--primary-light);
      color: var(--primary);
      padding: 7px;
      border-radius: 7px;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer;
      transition: var(--transition);
    }

    .pkg-card:hover .btn-select-pkg {
      background: var(--primary);
      color: #FFF;
    }

    /* Live Member Wallet Simulator */
    .member-pos-card {
      background: linear-gradient(135deg, #1E293B, #0F172A);
      color: #FFF;
      border-radius: var(--radius-lg);
      padding: 20px;
      margin-bottom: 20px;
      box-shadow: 0 10px 25px rgba(0,0,0,0.15);
      position: relative;
    }

    .card-chip-gold {
      width: 40px;
      height: 28px;
      background: linear-gradient(135deg, #FDE68A, #D97706);
      border-radius: 5px;
      margin-bottom: 12px;
    }

    .member-balance-val {
      font-family: var(--font-display);
      font-size: 30px;
      font-weight: 800;
      color: #FBBF24;
      margin: 4px 0 10px;
    }

    .member-table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 10px;
      font-size: 13px;
    }

    .member-table th {
      padding: 8px 10px;
      text-align: left;
      font-size: 11.5px;
      color: var(--light-muted);
      border-bottom: 1px solid var(--light-border);
    }

    body.dark-mode .member-table th { border-bottom-color: var(--dark-border); }

    .member-table td {
      padding: 10px;
      border-bottom: 1px solid var(--light-border);
    }

    body.dark-mode .member-table td { border-bottom-color: var(--dark-border); }

    /* Modals */
    .modal-overlay {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(15, 23, 42, 0.6);
      backdrop-filter: blur(4px);
      z-index: 1000;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }

    .modal-card {
      background: #FFFFFF;
      border-radius: var(--radius-lg);
      max-width: 480px;
      width: 100%;
      padding: 24px;
      box-shadow: 0 20px 40px rgba(0,0,0,0.2);
      border: 1px solid var(--light-border);
      animation: fadeIn 0.25s ease;
    }

    body.dark-mode .modal-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    /* Responsive */
    @media (max-width: 768px) {
      .topbar-ecosystem-links span.eco-text, .nav-tabs span.tab-text { display: none; }
      .chat-sidebar {
        position: absolute;
        left: -290px;
        top: 0; bottom: 0;
        z-index: 200;
      }
      .chat-sidebar.open { left: 0; }
    }
  
    /* ----------------------------------------------------
       5 F&B SPECIALIZED MODULES & LOYALTY CRM CSS
    ---------------------------------------------------- */
    .nav-tab-btn.tab-pos-btn {
      color: var(--primary);
      font-weight: 700;
    }
    .nav-tab-btn.tab-pos-btn.active {
      background: linear-gradient(135deg, #FFF7ED, #FFEDD5);
      color: var(--primary);
      box-shadow: 0 2px 8px rgba(255, 94, 30, 0.2);
    }
    body.dark-mode .nav-tab-btn.tab-pos-btn.active {
      background: rgba(255, 94, 30, 0.25);
      color: #FF8A50;
    }

    /* POS & TABLES GRID */
    .fnb-view-toggle {
      display: flex;
      gap: 10px;
      margin-bottom: 16px;
    }
    .fnb-view-btn {
      padding: 8px 16px;
      border-radius: 8px;
      border: 1px solid var(--light-border);
      background: #FFFFFF;
      font-family: var(--font-display);
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      color: var(--light-muted);
      transition: var(--transition);
    }
    body.dark-mode .fnb-view-btn {
      background: var(--dark-card);
      border-color: var(--dark-border);
      color: var(--dark-muted);
    }
    .fnb-view-btn.active {
      background: var(--primary);
      color: #FFFFFF;
      border-color: var(--primary);
    }

    .fnb-tables-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
      gap: 14px;
      margin-bottom: 20px;
    }
    .fnb-table-card {
      background: #FFFFFF;
      border: 2px solid var(--light-border);
      border-radius: var(--radius-sm);
      padding: 14px;
      cursor: pointer;
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 125px;
    }
    body.dark-mode .fnb-table-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }
    .fnb-table-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
      border-color: var(--primary);
    }
    .fnb-table-card.active-table {
      border-color: var(--primary);
      box-shadow: 0 0 0 2px rgba(255, 94, 30, 0.3);
    }
    .fnb-table-card.occupied {
      border-left: 5px solid var(--primary);
      background: rgba(255, 94, 30, 0.03);
    }
    .fnb-table-card.waiting-pay {
      border-left: 5px solid var(--rose);
      background: rgba(244, 63, 94, 0.03);
    }
    .fnb-table-card.empty {
      border-left: 5px solid var(--emerald);
    }

    .table-status-pill {
      font-size: 11px;
      font-weight: 700;
      padding: 2px 7px;
      border-radius: 4px;
      display: inline-block;
    }
    .status-empty { background: #ECFDF5; color: #059669; }
    .status-occupied { background: #FFF7ED; color: #EA580C; }
    .status-pay { background: #FFE4E6; color: #E11D48; }

    /* KDS TICKETS GRID */
    .kds-tickets-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
      gap: 16px;
    }
    .kds-ticket-card {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: var(--radius-sm);
      box-shadow: var(--shadow-sm);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    body.dark-mode .kds-ticket-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }
    .kds-ticket-header {
      padding: 10px 14px;
      background: rgba(0,0,0,0.03);
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid var(--light-border);
    }
    body.dark-mode .kds-ticket-header {
      background: rgba(255,255,255,0.03);
      border-color: var(--dark-border);
    }
    .ticket-alert-late {
      border: 2px solid var(--rose) !important;
      animation: pulseAlert 2s infinite;
    }
    @keyframes pulseAlert {
      0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.4); }
      70% { box-shadow: 0 0 0 8px rgba(244, 63, 94, 0); }
      100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0); }
    }

    /* POS Order Items Enhancements (Tùy chọn món, tăng giảm, ghi chú) */
    .order-item-row {
      display: flex;
      flex-direction: column;
      padding: 8px 10px;
      border-radius: 8px;
      margin-bottom: 6px;
      background: #f8fafc;
      border: 1px solid #e2e8f0;
      transition: all 0.2s;
    }
    body.dark-mode .order-item-row {
      background: rgba(255, 255, 255, 0.04);
      border-color: rgba(255, 255, 255, 0.08);
    }
    .order-item-row:hover {
      border-color: #cbd5e1;
      background: #f1f5f9;
    }
    .order-item-main {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }
    .order-item-name {
      font-weight: 700;
      font-size: 13px;
      color: #1e293b;
      flex: 1;
    }
    body.dark-mode .order-item-name { color: #f1f5f9; }
    .order-item-price {
      font-weight: 800;
      font-size: 13px;
      color: #b45309;
      white-space: nowrap;
    }
    .order-item-meta {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 6px;
      gap: 6px;
    }
    .order-item-notes {
      font-size: 11px;
      color: #64748b;
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      max-width: 60%;
    }
    .item-note-badge {
      background: #e0f2fe;
      color: #0369a1;
      padding: 1px 6px;
      border-radius: 4px;
      font-weight: 600;
      font-size: 10.5px;
    }
    .order-item-controls {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .btn-qty-adj {
      width: 24px;
      height: 24px;
      border-radius: 6px;
      border: 1px solid #cbd5e1;
      background: #ffffff;
      color: #334155;
      font-size: 13px;
      font-weight: 800;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: all 0.15s;
    }
    .btn-qty-adj:hover {
      background: #e2e8f0;
      border-color: #94a3b8;
    }
    .btn-qty-val {
      font-size: 12.5px;
      font-weight: 800;
      min-width: 20px;
      text-align: center;
      color: #1e293b;
    }
    body.dark-mode .btn-qty-val { color: #fff; }
    .btn-item-action {
      background: none;
      border: none;
      cursor: pointer;
      font-size: 13px;
      padding: 2px 4px;
      border-radius: 4px;
      opacity: 0.75;
      transition: opacity 0.2s;
    }
    .btn-item-action:hover { opacity: 1; transform: scale(1.1); }

    /* Live Menu Search Bar */
    .pos-search-wrap {
      margin-bottom: 10px;
      position: relative;
    }
    .pos-search-input {
      width: 100%;
      padding: 8px 12px 8px 34px;
      border-radius: 8px;
      border: 1.5px solid #cbd5e1;
      font-size: 12.5px;
      background: #ffffff;
      outline: none;
      transition: border-color 0.2s;
    }
    .pos-search-input:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    }
    .pos-search-icon {
      position: absolute;
      left: 10px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 14px;
      color: #94a3b8;
      pointer-events: none;
    }

    /* Option Pill Buttons */
    .opt-chip-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-bottom: 12px;
    }
    .opt-chip {
      background: #f1f5f9;
      border: 1px solid #cbd5e1;
      padding: 5px 12px;
      border-radius: 6px;
      font-size: 12px;
      cursor: pointer;
      color: #334155;
      font-weight: 600;
      transition: all 0.15s;
    }
    .opt-chip.active {
      background: #2563eb;
      color: #ffffff;
      border-color: #1d4ed8;
    }

    /* INVENTORY TABLES */
    .inv-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13px;
    }
    .inv-table th, .inv-table td {
      padding: 10px 12px;
      text-align: left;
      border-bottom: 1px solid var(--light-border);
    }
    body.dark-mode .inv-table th, body.dark-mode .inv-table td {
      border-color: var(--dark-border);
    }
    .inv-table th {
      background: rgba(0,0,0,0.02);
      font-weight: 700;
    }
    body.dark-mode .inv-table th {
      background: rgba(255,255,255,0.02);
    }
    .stock-badge-low {
      background: #FFE4E6;
      color: #E11D48;
      padding: 3px 8px;
      border-radius: 4px;
      font-weight: 700;
      font-size: 11px;
    }
    .stock-badge-safe {
      background: #ECFDF5;
      color: #059669;
      padding: 3px 8px;
      border-radius: 4px;
      font-weight: 700;
      font-size: 11px;
    }

    /* SHIFTS & STAFF */
    .shift-timeline-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 16px;
      margin-bottom: 20px;
    }
    .shift-box {
      border: 1px solid var(--light-border);
      border-radius: var(--radius-sm);
      padding: 16px;
      background: #FFFFFF;
    }
    body.dark-mode .shift-box {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    /* CASHFLOW & P&L PROGRESS */
    .pnl-progress-bar {
      height: 14px;
      border-radius: 7px;
      background: #E2E8F0;
      overflow: hidden;
      display: flex;
      margin-top: 8px;
    }
    .pnl-segment {
      height: 100%;
      transition: width 0.5s ease;
    }

    /* REWARDS REDEEM GRID */
    .rewards-redeem-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 14px;
      margin-top: 14px;
    }
    .reward-card {
      border: 1px solid var(--light-border);
      border-radius: var(--radius-sm);
      padding: 14px;
      background: #FFFFFF;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
    }
    body.dark-mode .reward-card {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }
    .reward-points-badge {
      background: linear-gradient(135deg, #FEF3C7, #FDE68A);
      color: #B45309;
      padding: 3px 8px;
      border-radius: 12px;
      font-size: 11px;
      font-weight: 800;
      display: inline-block;
    }


    /* ----------------------------------------------------
       LEAD HARVESTER & OMNI-MARKETING MODULE CSS
    ---------------------------------------------------- */
    .nav-tab-btn.tab-lead-btn {
      color: var(--blue);
      font-weight: 700;
    }
    .nav-tab-btn.tab-lead-btn.active {
      background: linear-gradient(135deg, #EFF6FF, #DBEAFE);
      color: #1D4ED8;
      box-shadow: 0 2px 8px rgba(37, 99, 235, 0.2);
    }
    body.dark-mode .nav-tab-btn.tab-lead-btn.active {
      background: rgba(37, 99, 235, 0.25);
      color: #60A5FA;
    }

    .lead-source-badge {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 8px;
      border-radius: 4px;
      font-size: 11px;
      font-weight: 700;
    }
    .source-fb { background: #E7F3FF; color: #1877F2; }
    .source-gg { background: #FEF3C7; color: #D97706; }
    .source-web { background: #ECFDF5; color: #059669; }

    .lead-tag {
      font-size: 10.5px;
      padding: 1px 6px;
      border-radius: 4px;
      background: rgba(0,0,0,0.05);
      color: var(--light-muted);
      display: inline-block;
      margin: 1px;
    }
    body.dark-mode .lead-tag {
      background: rgba(255,255,255,0.08);
      color: var(--dark-muted);
    }

    .phone-preview-bubble {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: 12px;
      padding: 12px 14px;
      font-size: 13px;
      line-height: 1.5;
      box-shadow: var(--shadow-sm);
      position: relative;
    }
    body.dark-mode .phone-preview-bubble {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .email-template-box {
      border: 1px solid var(--light-border);
      border-radius: 8px;
      overflow: hidden;
      background: #FFFFFF;
    }
    body.dark-mode .email-template-box {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }
    .email-head-bar {
      background: linear-gradient(135deg, #FF5E1E, #FF8A50);
      color: #FFFFFF;
      padding: 14px 18px;
      text-align: center;
    }


    /* ----------------------------------------------------
       5x5 QUICK AUDIT STYLES & PRINT STYLES
    ---------------------------------------------------- */
    .audit-table-wrap {
      background: #FFFFFF;
      border: 1px solid var(--light-border);
      border-radius: var(--radius-sm);
      overflow-x: auto;
      margin-bottom: 20px;
      box-shadow: var(--shadow-sm);
    }
    body.dark-mode .audit-table-wrap {
      background: var(--dark-card);
      border-color: var(--dark-border);
    }

    .audit-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13.5px;
      line-height: 1.5;
    }
    .audit-table th, .audit-table td {
      border: 1px solid #CBD5E1;
      padding: 10px 14px;
      vertical-align: top;
    }
    body.dark-mode .audit-table th, body.dark-mode .audit-table td {
      border-color: #475569;
    }
    .audit-table th {
      background: #F1F5F9;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-size: 13px;
      color: #1E293B;
      text-align: center;
    }
    body.dark-mode .audit-table th {
      background: #1E293B;
      color: #F8FAFC;
    }
    .audit-group-cell {
      background: #F8FAFC;
      font-weight: 800;
      width: 22%;
      color: #0F172A;
      font-size: 14px;
    }
    body.dark-mode .audit-group-cell {
      background: rgba(255,255,255,0.03);
      color: #F1F5F9;
    }

    .audit-item-row {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 8px;
      padding-bottom: 6px;
      border-bottom: 1px dashed rgba(0,0,0,0.06);
      cursor: pointer;
    }
    .audit-item-row:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: none;
    }
    .audit-item-row input[type="checkbox"] {
      margin-top: 3px;
      width: 16px;
      height: 16px;
      accent-color: var(--emerald);
      cursor: pointer;
    }
    .audit-item-text {
      flex: 1;
      font-size: 13.5px;
    }

    .audit-progress-card {
      background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
      border: 1px solid #86EFAC;
      border-radius: var(--radius-sm);
      padding: 16px 20px;
      margin-bottom: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 14px;
    }
    body.dark-mode .audit-progress-card {
      background: rgba(16, 185, 129, 0.1);
      border-color: rgba(16, 185, 129, 0.3);
    }

    @media print {
      body * { visibility: hidden; }
      #printable-5x5-audit, #printable-5x5-audit * { visibility: visible; }
      #printable-5x5-audit {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        margin: 0;
        padding: 10px;
        background: #fff !important;
        color: #000 !important;
      }
      .audit-table th, .audit-table td {
        border: 1px solid #000 !important;
        color: #000 !important;
        background: #fff !important;
      }
      .no-print { display: none !important; }
    }


    /* ----------------------------------------------------
       TRUNG NGUYEN E-COFFEE 10 SOP CHECKLISTS CSS
    ---------------------------------------------------- */
    .ecoffee-hub-card {
      margin-top: 30px;
      background: #FFFFFF;
      border: 2px solid #8B4513;
      border-radius: var(--radius-sm);
      overflow: hidden;
      box-shadow: var(--shadow-md);
    }
    body.dark-mode .ecoffee-hub-card {
      background: var(--dark-card);
      border-color: #A0522D;
    }
    .ecoffee-hub-header {
      background: linear-gradient(135deg, #3E2723, #5D4037);
      color: #FFFFFF;
      padding: 16px 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
    }
    .ecoffee-title {
      font-family: var(--font-display);
      font-size: 17px;
      font-weight: 800;
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ecoffee-badge-gold {
      background: linear-gradient(135deg, #FEF3C7, #FDE68A);
      color: #78350F;
      font-size: 11px;
      font-weight: 800;
      padding: 3px 8px;
      border-radius: 4px;
      text-transform: uppercase;
    }

    .ecoffee-tabs-bar {
      display: flex;
      gap: 6px;
      padding: 12px 16px;
      background: rgba(93, 64, 55, 0.08);
      overflow-x: auto;
      border-bottom: 1px solid var(--light-border);
      scrollbar-width: thin;
    }
    body.dark-mode .ecoffee-tabs-bar {
      background: rgba(0,0,0,0.3);
      border-color: var(--dark-border);
    }
    .ecoffee-tab-btn {
      padding: 7px 12px;
      border-radius: 6px;
      border: 1px solid var(--light-border);
      background: #FFFFFF;
      font-family: var(--font-display);
      font-size: 12.5px;
      font-weight: 600;
      color: var(--light-muted);
      cursor: pointer;
      white-space: nowrap;
      transition: var(--transition);
    }
    body.dark-mode .ecoffee-tab-btn {
      background: var(--dark-card);
      border-color: var(--dark-border);
      color: var(--dark-muted);
    }
    .ecoffee-tab-btn:hover {
      color: var(--primary);
      border-color: var(--primary);
    }
    .ecoffee-tab-btn.active {
      background: #5D4037;
      color: #FFFFFF;
      border-color: #3E2723;
    }
    body.dark-mode .ecoffee-tab-btn.active {
      background: #8D6E63;
      color: #FFFFFF;
      border-color: #A1887F;
    }

    .ecoffee-content-area {
      padding: 20px;
    }
    .ecoffee-section-title {
      font-size: 14px;
      font-weight: 800;
      color: #5D4037;
      margin: 18px 0 10px;
      padding-bottom: 4px;
      border-bottom: 2px solid #D7CCC8;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    body.dark-mode .ecoffee-section-title {
      color: #D7CCC8;
      border-color: #4E342E;
    }
    .ecoffee-item-row {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 8px 10px;
      border-radius: 6px;
      margin-bottom: 6px;
      transition: background 0.15s;
      cursor: pointer;
    }
    .ecoffee-item-row:hover {
      background: rgba(0,0,0,0.03);
    }
    body.dark-mode .ecoffee-item-row:hover {
      background: rgba(255,255,255,0.03);
    }
    .ecoffee-item-row input[type="checkbox"] {
      width: 17px;
      height: 17px;
      margin-top: 2px;
      accent-color: #5D4037;
      cursor: pointer;
    }
    .ecoffee-item-stt {
      font-weight: 700;
      color: #8D6E63;
      min-width: 22px;
      font-size: 13px;
    }
    .ecoffee-item-text {
      flex: 1;
      font-size: 13.5px;
      line-height: 1.5;
    }
/* ============================================= */
.g-btn-auth {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 7px 14px;
      border-radius: 99px;
      background: #ffffff;
      color: #1e293b;
      font-size: 13px;
      font-weight: 700;
      border: 1px solid #cbd5e1;
      cursor: pointer;
      box-shadow: 0 1px 3px rgba(0,0,0,0.06);
      transition: all 0.2s ease;
      text-decoration: none;
      white-space: nowrap;
    }
    .g-btn-auth:hover {
      background: #f8fafc;
      border-color: #4285F4;
      box-shadow: 0 3px 10px rgba(66,133,244,0.2);
      transform: translateY(-1px);
    }
    body.dark-mode .g-btn-auth {
      background: #1e293b;
      color: #f8fafc;
      border-color: #334155;
    }
    .user-profile-widget {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      user-select: none;
      padding: 3px 8px 3px 3px;
      border-radius: 99px;
      background: rgba(0,0,0,0.03);
      transition: background 0.2s;
    }
    .user-profile-widget:hover {
      background: rgba(0,0,0,0.06);
    }
    body.dark-mode .user-profile-widget {
      background: rgba(255,255,255,0.05);
    }
    body.dark-mode .user-profile-widget:hover {
      background: rgba(255,255,255,0.1);
    }
    .user-avatar-circle {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: linear-gradient(135deg, #d97706, #b45309);
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      font-size: 12.5px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.12);
      overflow: hidden;
      flex-shrink: 0;
    }
    .user-avatar-circle img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .user-info-text {
      display: flex;
      flex-direction: column;
      text-align: left;
      line-height: 1.15;
    }
    .user-info-name {
      font-size: 12px;
      font-weight: 700;
      color: var(--text-dark, #0f172a);
      max-width: 110px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    body.dark-mode .user-info-name {
      color: #f8fafc;
    }
    .user-info-badge {
      font-size: 9.5px;
      font-weight: 800;
      color: #d97706;
      letter-spacing: 0.2px;
    }
    .user-dropdown-card {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      width: 250px;
      background: #ffffff;
      border-radius: 14px;
      box-shadow: 0 12px 30px rgba(0,0,0,0.18);
      border: 1px solid #e2e8f0;
      padding: 14px;
      z-index: 99999;
      display: none;
      flex-direction: column;
      gap: 10px;
      animation: fadeIn 0.2s ease;
    }
    body.dark-mode .user-dropdown-card {
      background: #1e293b;
      border-color: #334155;
      color: #f8fafc;
    }
    .user-dropdown-card.show {
      display: flex;
    }
    .g-modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(15,23,42,0.65);
      backdrop-filter: blur(6px);
      z-index: 999999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    .g-modal-overlay.open {
      display: flex;
    }
    .g-modal-box {
      background: #ffffff;
      border-radius: 20px;
      width: 100%;
      max-width: 420px;
      padding: 28px 24px;
      box-shadow: 0 20px 50px rgba(0,0,0,0.25);
      position: relative;
      animation: fadeIn 0.25s ease;
    }
    body.dark-mode .g-modal-box {
      background: #1e293b;
      color: #f8fafc;
    }
    .g-modal-close {
      position: absolute;
      top: 16px;
      right: 16px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      border: none;
      background: #f1f5f9;
      color: #64748b;
      font-size: 15px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    body.dark-mode .g-modal-close {
      background: #334155;
      color: #cbd5e1;
    }
    .g-progress {
      height: 3px;
      width: 100%;
      background: #e2e8f0;
      position: relative;
      overflow: hidden;
      margin: 14px 0;
      display: none;
      border-radius: 2px;
    }
    .g-progress.active { display: block; }
    .g-progress-bar {
      position: absolute;
      height: 100%;
      width: 50%;
      background: linear-gradient(90deg, #4285F4, #34A853, #FBBC05, #EA4335);
      animation: gbar 1.2s infinite ease-in-out;
    }
    @keyframes gbar { 0% { left: -50%; } 100% { left: 100%; } }
/* ============================================= */
/* ========================================================
   CHUQUAN MIDOLI AI — 4 TIỆN ÍCH KHUNG CHAT TỪ SME AI
   (3 Chế độ lái, Thêm tệp, Kỹ năng, Tự động 1 chạm)
======================================================== */

/* Mode Toggle Bar & 3 Chế Độ Lái */
.mode-toggle-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 99px;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  border: 1.5px solid #cbd5e1;
  transition: all .2s;
  background: #ffffff;
  color: #475569;
  text-decoration: none;
  white-space: nowrap;
}

body.dark-mode .mode-btn {
  background: #1e293b;
  border-color: #334155;
  color: #94a3b8;
}

.mode-btn:hover {
  border-color: #0284c7;
  color: #0284c7;
  transform: translateY(-1px);
}

.mode-btn.active-strategy {
  background: #fdf4ff !important;
  border-color: #c084fc !important;
  color: #7e22ce !important;
  box-shadow: 0 2px 6px rgba(192, 132, 252, 0.25);
}

.mode-btn.active-auto {
  background: #ecfdf5 !important;
  border-color: #34d399 !important;
  color: #047857 !important;
  box-shadow: 0 2px 6px rgba(52, 211, 153, 0.25);
}

.mode-btn.active-control {
  background: #fffbeb !important;
  border-color: #fcd34d !important;
  color: #b45309 !important;
  box-shadow: 0 2px 6px rgba(252, 211, 77, 0.25);
}

.mode-btn-telegram {
  background: #0284c7 !important;
  color: #ffffff !important;
  border-color: #0284c7 !important;
}

.mode-btn-telegram:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
}

.mode-btn-zalo {
  background: #0068ff !important;
  color: #ffffff !important;
  border-color: #0068ff !important;
}

.mode-btn-zalo:hover {
  background: #0052cc !important;
  color: #ffffff !important;
}

.chat-controls-bar {
  max-width: 880px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

/* Quick Chips Bar 1 Chạm */
.quick-chips-bar {
  max-width: 880px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 2px 0;
}
.quick-chips-bar::-webkit-scrollbar { display: none; }

.quick-chip-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: #475569;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
}

body.dark-mode .quick-chip-item {
  background: #1e293b;
  border-color: #334155;
  color: #cbd5e1;
}

.quick-chip-item:hover {
  background: #e0f2fe;
  border-color: #7dd3fc;
  color: #0369a1;
  transform: translateY(-1px);
}

/* Attached Files Bar */
.attached-files-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 12px 2px;
  max-width: 880px;
  margin: 0 auto;
}

.attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

.att-icon { font-size: 14px; }
.att-size { font-size: 10.5px; color: #60a5fa; }
.att-remove {
  cursor: pointer;
  font-weight: 700;
  margin-left: 4px;
  padding: 0 4px;
  border-radius: 4px;
  color: #ef4444;
}
.att-remove:hover { background: #fee2e2; }

/* Skill Popup */
.skill-popup {
  position: fixed;
  bottom: 140px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.16);
  padding: 16px;
  width: 560px;
  max-width: calc(100vw - 32px);
  display: none;
  z-index: 9999;
  animation: skillFadeIn .2s ease;
}

body.dark-mode .skill-popup {
  background: #0f172a;
  border-color: #334155;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
}

.skill-popup.open { display: block; }

@keyframes skillFadeIn {
  from { opacity: 0; transform: translate(-50%, 8px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

.sp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e2e8f0;
}

body.dark-mode .sp-header { border-color: #334155; }

.sp-title {
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
  display: flex;
  align-items: center;
  gap: 6px;
}

body.dark-mode .sp-title { color: #f8fafc; }

.sp-close {
  background: transparent;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: #64748b;
  padding: 2px 6px;
  border-radius: 4px;
}
.sp-close:hover { background: #f1f5f9; color: #0f172a; }

.sp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  max-height: 380px;
  overflow-y: auto;
  padding-right: 4px;
}

.sp-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  cursor: pointer;
  transition: all .15s;
}

body.dark-mode .sp-item {
  background: #1e293b;
  border-color: #334155;
}

.sp-item:hover {
  background: #f0fdf4;
  border-color: #86efac;
  transform: translateY(-1px);
}

.sp-icon { font-size: 18px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.sp-name { font-size: 12px; font-weight: 700; color: #0f172a; margin-bottom: 2px; }
body.dark-mode .sp-name { color: #f8fafc; }
.sp-desc { font-size: 10.5px; color: #64748b; line-height: 1.3; }

/* Auto Workflow Modal 1 Chạm */
.auto-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.auto-modal-overlay.open { display: flex; }

.auto-modal-content {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
  width: 760px;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  animation: modalScaleIn .2s ease;
}

body.dark-mode .auto-modal-content {
  background: #0f172a;
  color: #f8fafc;
}

@keyframes modalScaleIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

.auto-modal-header {
  background: linear-gradient(135deg, #1e1b4b 0%, #2563eb 50%, #059669 100%);
  color: #ffffff;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 16px 16px 0 0;
}

.auto-modal-title {
  font-size: 15px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
}

.auto-flow-card {
  border: 1.5px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  background: #f8fafc;
  cursor: pointer;
  transition: all .2s;
  margin-bottom: 12px;
}

body.dark-mode .auto-flow-card {
  background: #1e293b;
  border-color: #334155;
}

.auto-flow-card:hover {
  border-color: #10b981;
  background: #ecfdf5;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(16, 185, 129, 0.15);
}

body.dark-mode .auto-flow-card:hover {
  background: #064e3b;
  border-color: #34d399;
}
/* ============================================= */
/* ========================================================
   CHUQUAN MIDOLI AI — MÁY POS & HÓA ĐƠN K80 CHUẨN CUKCUK
   TRUNG NGUYÊN E-COFFEE EDITION
======================================================== */

/* Menu Categories Tabs trên POS */
.pos-menu-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 4px 0 10px;
  margin-bottom: 10px;
}
.pos-menu-tabs::-webkit-scrollbar { display: none; }

.pos-tab-chip {
  padding: 5px 12px;
  border-radius: 99px;
  font-size: 11.5px;
  font-weight: 700;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #475569;
  cursor: pointer;
  white-space: nowrap;
  transition: all .15s;
}
body.dark-mode .pos-tab-chip {
  background: #1e293b;
  border-color: #334155;
  color: #94a3b8;
}
.pos-tab-chip.active, .pos-tab-chip:hover {
  background: #b45309;
  border-color: #b45309;
  color: #ffffff;
}

/* Lưới Món Menu E-Coffee */
.ecoffee-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
  padding-right: 4px;
  margin-bottom: 12px;
}

.ecoffee-menu-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
  transition: all .15s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
body.dark-mode .ecoffee-menu-card {
  background: #1e293b;
  border-color: #334155;
}
.ecoffee-menu-card:hover {
  border-color: #b45309;
  background: #fffbeb;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(180, 83, 9, 0.15);
}
body.dark-mode .ecoffee-menu-card:hover {
  background: #3b260e;
  border-color: #f59e0b;
}

/* Modal Thanh Toán Chuẩn CukCuk */
.cukcuk-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(4px);
  z-index: 10005;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.cukcuk-modal-overlay.open { display: flex; }

.cukcuk-modal-box {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
  width: 680px;
  max-width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  animation: modalScale .2s ease;
}
body.dark-mode .cukcuk-modal-box {
  background: #0f172a;
  color: #f8fafc;
}

/* Hóa Đơn In Nhiệt K80 (80mm) */
.bill-k80-container {
  width: 340px;
  margin: 0 auto;
  background: #ffffff;
  color: #000000;
  font-family: 'Courier New', Courier, monospace, monospace;
  font-size: 12.5px;
  line-height: 1.4;
  padding: 18px 14px;
  border: 1px dashed #cbd5e1;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
@media print {
  body * { visibility: hidden; }
  #printable-bill-wrapper, #printable-bill-wrapper * { visibility: visible; }
  #printable-bill-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 80mm;
    margin: 0;
    padding: 2mm;
    box-shadow: none;
    border: none;
  }
}
/* ============================================= */
/* ========================================================
   CHUQUAN MIDOLI AI — UNIFIED BOT HUB MODAL UX/UI ENHANCEMENT
======================================================== */
.bot-hub-modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(15, 23, 42, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 10020;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: botFadeIn 0.2s ease;
}

.bot-hub-modal-overlay.open {
  display: flex !important;
}

@keyframes botFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.bot-hub-modal-card {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15);
  width: 780px;
  max-width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  animation: botCardScale 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

body.dark-mode .bot-hub-modal-card {
  background: #0f172a;
  color: #f8fafc;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

@keyframes botCardScale {
  from { opacity: 0; transform: scale(0.95) translateY(10px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.bot-hub-header {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #172554 100%);
  color: #ffffff;
  padding: 18px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 20px 20px 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.bot-hub-tabs-nav {
  display: flex;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  padding: 4px 16px 0;
  gap: 8px;
}

body.dark-mode .bot-hub-tabs-nav {
  background: #1e293b;
  border-color: #334155;
}

.bot-hub-tab-btn {
  border: none;
  background: transparent;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  cursor: pointer;
  border-bottom: 2.5px solid transparent;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body.dark-mode .bot-hub-tab-btn {
  color: #94a3b8;
}

.bot-hub-tab-btn:hover {
  color: #0284c7;
}

.bot-hub-tab-btn.active {
  color: #0284c7;
  border-bottom-color: #0284c7;
  background: #ffffff;
  border-radius: 8px 8px 0 0;
}

body.dark-mode .bot-hub-tab-btn.active {
  color: #38bdf8;
  border-bottom-color: #38bdf8;
  background: #0f172a;
}

.bot-channel-card {
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 14px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.2s;
  position: relative;
}

body.dark-mode .bot-channel-card {
  background: #1e293b;
  border-color: #334155;
}

.bot-channel-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.bot-channel-card.telegram:hover {
  border-color: #0284c7;
}

.bot-channel-card.zalo:hover {
  border-color: #0068ff;
}

.bot-qr-frame {
  background: #ffffff;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  margin: 12px 0;
  display: inline-block;
}

.btn-bot-action {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
}

.btn-bot-telegram {
  background: linear-gradient(135deg, #0284c7, #0369a1);
  box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}
.btn-bot-telegram:hover {
  background: linear-gradient(135deg, #0369a1, #075985);
  transform: translateY(-1px);
}

.btn-bot-zalo {
  background: linear-gradient(135deg, #0068ff, #0052cc);
  box-shadow: 0 4px 12px rgba(0, 104, 255, 0.25);
}
.btn-bot-zalo:hover {
  background: linear-gradient(135deg, #0052cc, #003fa3);
  transform: translateY(-1px);
}

/* ========================================================
   SOBANHANG-INSPIRED STYLES: STOREFRONT, B2B DEBT, REORDER
======================================================== */
.sbh-tools-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.sbh-tool-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--card-bg, #ffffff);
  border: 1px solid var(--light-border, #e2e8f0);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
  text-align: left;
}
.sbh-tool-card:hover {
  transform: translateY(-2px);
  border-color: #8b5cf6;
  box-shadow: 0 8px 20px rgba(139, 92, 246, 0.15);
}
.sbh-tool-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.sbh-tool-text h4 {
  margin: 0 0 2px;
  font-size: 13px;
  font-weight: 800;
  color: var(--text, #1e293b);
}
.sbh-tool-text p {
  margin: 0;
  font-size: 11px;
  color: var(--light-muted, #64748b);
  line-height: 1.3;
}

/* Mobile Phone Mockup Frame */
.mobile-mockup-frame {
  width: 360px;
  max-width: 100%;
  height: 640px;
  background: #ffffff;
  border: 10px solid #1e293b;
  border-radius: 36px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.2), 0 0 0 2px rgba(255,255,255,0.1) inset;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}
.mobile-mockup-notch {
  height: 22px;
  background: #1e293b;
  width: 130px;
  margin: 0 auto;
  border-radius: 0 0 14px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}
.mobile-notch-camera {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0f172a;
}
.mobile-mockup-screen {
  flex: 1;
  overflow-y: auto;
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  position: relative;
}
.mobile-screen-header {
  background: linear-gradient(135deg, #1e293b, #0f172a);
  color: #ffffff;
  padding: 14px 16px;
  position: sticky;
  top: 0;
  z-index: 5;
}
.mobile-store-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
}
.mobile-menu-item-row {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 8px;
  border: 1px solid #f1f5f9;
  box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.mobile-menu-item-img {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.mobile-menu-add-btn {
  background: #0284c7;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s;
}
.mobile-menu-add-btn:hover {
  background: #0369a1;
}
.mobile-sticky-cart {
  position: sticky;
  bottom: 0;
  background: #ffffff;
  border-top: 1px solid #e2e8f0;
  padding: 10px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 -4px 12px rgba(0,0,0,0.06);
}

/* Digital Business Card Stand */
.business-card-stand {
  background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
  border-radius: 20px;
  color: #ffffff;
  padding: 24px;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}
.business-card-stand::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(217, 119, 6, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* B2B Debt Status Pills */
.debt-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.debt-pending {
  background: #fef3c7;
  color: #b45309;
  border: 1px solid #fde68a;
}
.debt-paid {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

/* Smart Reorder Widget */
.smart-reorder-banner {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(217, 119, 6, 0.05));
  border: 1.5px solid rgba(245, 158, 11, 0.35);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}
.reorder-pulse-dot {
  width: 10px;
  height: 10px;
  background: #f59e0b;
  border-radius: 50%;
  display: inline-block;
  animation: pulse 1.2s infinite;
}


/* ═══════════════════════════════════════════════════════════
   CHATGPT/GEMINI UX REDESIGN — ChuQuan AI v3.0
   ═══════════════════════════════════════════════════════════ */

/* ─────── DESKTOP: Gemini-style centered chat ─────── */
.chat-messages {
  padding: 20px 24px 24px !important;
}

.chat-input-bar {
  padding: 12px 20px 16px !important;
}

/* Input box - ChatGPT style: rounded, prominent, bigger */
.input-box-wrap {
  max-width: 820px !important;
  margin: 0 auto !important;
  background: #FFFFFF !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 24px !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: flex-end !important;
  gap: 8px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
body.dark-mode .input-box-wrap {
  background: #1e293b !important;
  border-color: #334155 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25) !important;
}
.input-box-wrap:focus-within {
  border-color: #ff5e1e !important;
  box-shadow: 0 0 0 3px rgba(255, 94, 30, 0.12), 0 2px 12px rgba(0,0,0,0.06) !important;
}

/* Textarea - ChatGPT style: bigger, better touch target */
.chat-textarea {
  flex: 1 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  min-height: 44px !important;
  max-height: 200px !important;
  padding: 8px 4px !important;
}

/* Send button - Gemini style: circle, colored */
.btn-send {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #ff5e1e, #ff8a50) !important;
  color: #FFFFFF !important;
  font-size: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(255, 94, 30, 0.3) !important;
  transition: transform 0.15s, box-shadow 0.15s !important;
  flex-shrink: 0 !important;
}
.btn-send:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 4px 14px rgba(255, 94, 30, 0.45) !important;
}

/* Tool buttons bigger touch targets */
.btn-tool {
  width: 38px !important;
  height: 38px !important;
  font-size: 18px !important;
  border-radius: 50% !important;
}
.btn-tool:hover {
  background: rgba(0,0,0,0.06) !important;
}
body.dark-mode .btn-tool:hover {
  background: rgba(255,255,255,0.08) !important;
}

/* Skill pill button - more compact */
.btn-skill-pill {
  font-size: 12px !important;
  padding: 6px 12px !important;
  border-radius: 99px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

/* ─────── CONTROLS: Collapsible drawer pattern ─────── */

/* Controls drawer wrapper */
.chat-controls-bar {
  max-width: 820px !important;
  margin: 0 auto 6px !important;
  overflow: hidden !important;
  transition: max-height 0.3s ease, opacity 0.3s ease !important;
}

/* Mode buttons - smaller, pill style */
.mode-btn {
  padding: 4px 10px !important;
  font-size: 11px !important;
  border-radius: 99px !important;
}

/* Quick chips bar */
.quick-chips-bar {
  max-width: 820px !important;
  margin: 0 auto 6px !important;
  transition: max-height 0.3s ease, opacity 0.3s ease !important;
}

.quick-chip-item {
  font-size: 10.5px !important;
  padding: 3px 8px !important;
}

/* ─────── EXPAND/COLLAPSE TOGGLE ─────── */
.controls-expand-btn {
  display: none; /* Hidden on desktop by default */
  margin: 0 auto 4px;
  max-width: 820px;
  background: transparent;
  border: none;
  color: var(--light-muted);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 12px;
  border-radius: 12px;
  transition: all 0.2s;
  text-align: center;
  width: fit-content;
}
.controls-expand-btn:hover {
  background: rgba(0,0,0,0.04);
  color: #ff5e1e;
}
body.dark-mode .controls-expand-btn:hover {
  background: rgba(255,255,255,0.06);
}

/* Input hint - smaller, less intrusive */
.input-hint-row {
  font-size: 10px !important;
  opacity: 0.7 !important;
  margin-top: 4px !important;
}

/* ─────── MOBILE SPECIFIC: ChatGPT/Gemini patterns ─────── */
@media (max-width: 768px) {

  /* 1. Topbar: slimmer */
  .topbar {
    height: 48px !important;
    padding: 6px 12px !important;
  }

  /* Hide non-essential topbar items on mobile */
  .desktop-sync-status,
  .badge,
  .topbar-ecosystem-links {
    display: none !important;
  }

  .brand-title { font-size: 15px !important; }
  .brand-logo-icon { width: 30px !important; height: 30px !important; font-size: 16px !important; }

  /* 2. Main wrapper - use full height minus slim topbar */
  .main-wrapper {
    height: calc(100vh - 48px) !important;
  }

  /* 3. Nav tabs - slimmer */
  .nav-tabs {
    gap: 2px !important;
  }
  .nav-tab-btn {
    padding: 6px 8px !important;
    font-size: 16px !important;
  }

  /* 4. Chat messages - more breathing room */
  .chat-messages {
    padding: 12px 12px 16px !important;
  }

  /* 5. Message bubbles - full width like ChatGPT mobile */
  .msg-bubble {
    max-width: 95% !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
  }

  /* 6. CRITICAL: Controls + Quick chips → collapsed by default */
  .chat-controls-bar {
    max-height: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .chat-controls-bar.expanded {
    max-height: 120px !important;
    opacity: 1 !important;
    margin: 0 auto 6px !important;
    overflow-x: auto !important;
  }

  .quick-chips-bar {
    max-height: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .quick-chips-bar.expanded {
    max-height: 100px !important;
    opacity: 1 !important;
    margin: 0 auto 4px !important;
    padding: 2px 0 6px !important;
    overflow-x: auto !important;
  }

  /* 7. Expand button visible on mobile */
  .controls-expand-btn {
    display: block !important;
  }

  /* 8. Input area: ChatGPT mobile style */
  .chat-input-bar {
    padding: 8px 10px 12px !important;
    border-top: 1px solid rgba(0,0,0,0.08) !important;
  }
  body.dark-mode .chat-input-bar {
    border-top-color: rgba(255,255,255,0.08) !important;
  }

  .input-box-wrap {
    border-radius: 20px !important;
    padding: 8px 12px !important;
  }

  /* 9. Textarea: BIGGER - Gemini mobile style */
  .chat-textarea {
    font-size: 16px !important; /* Prevents iOS zoom on focus */
    min-height: 44px !important;
    padding: 8px 2px !important;
  }

  /* 10. Buttons: larger touch targets (48px minimum) */
  .btn-send {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
  .btn-tool {
    width: 40px !important;
    height: 40px !important;
    font-size: 19px !important;
  }

  /* 11. Skill pill - compact on mobile */
  .btn-skill-pill {
    font-size: 11px !important;
    padding: 5px 10px !important;
  }

  /* 12. Input hint: hide on mobile to save space */
  .input-hint-row {
    display: none !important;
  }

  /* 13. Welcome section: compact */
  .welcome-fnb {
    padding: 12px !important;
  }
  .hero-box {
    padding: 20px 16px !important;
  }
  .hero-title {
    font-size: 22px !important;
  }
  .hero-desc {
    font-size: 13px !important;
  }

  /* 14. Prompt cards grid: single column on mobile */
  .prompt-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* ─────── SMALL PHONES (≤ 400px) ─────── */
@media (max-width: 400px) {
  .topbar {
    height: 44px !important;
    padding: 4px 8px !important;
  }
  .brand-title span:first-child {
    font-size: 14px !important;
  }
  .main-wrapper {
    height: calc(100vh - 44px) !important;
  }
  .input-box-wrap {
    padding: 6px 10px !important;
    border-radius: 18px !important;
  }
  .chat-textarea {
    min-height: 40px !important;
  }
}

/* ─────── DESKTOP LARGE (≥ 1200px) ─────── */
@media (min-width: 1200px) {
  .chat-messages {
    padding: 24px 40px !important;
  }

  /* Gemini style: center messages with max-width */
  .msg-row {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .welcome-fnb {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ─── Skill button: icon-only on mobile ─── */
@media (max-width: 768px) {
  .btn-skill-pill .skill-label {
    display: none !important;
  }
  .btn-skill-pill {
    padding: 6px 8px !important;
    font-size: 16px !important;
    min-width: 36px !important;
    justify-content: center !important;
  }
}


/* ─── MOBILE + BUTTON (ChatGPT style) ─── */
.mobile-plus-wrap {
  display: none;
  position: relative;
}

.btn-plus-mobile {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid #d1d5db;
  background: #ffffff;
  color: #64748b;
  font-size: 20px;
  font-weight: 300;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  line-height: 1;
}
body.dark-mode .btn-plus-mobile {
  background: #1e293b;
  border-color: #475569;
  color: #94a3b8;
}
.btn-plus-mobile:hover,
.btn-plus-mobile.active {
  background: #f1f5f9;
  border-color: #ff5e1e;
  color: #ff5e1e;
  transform: rotate(45deg);
}
body.dark-mode .btn-plus-mobile:hover,
body.dark-mode .btn-plus-mobile.active {
  background: #334155;
  color: #ff8a50;
}

.plus-popup {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  overflow: hidden;
  z-index: 500;
  min-width: 160px;
  animation: plusPopIn 0.15s ease;
}
body.dark-mode .plus-popup {
  background: #1e293b;
  border-color: #334155;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.plus-popup.show { display: block; }

@keyframes plusPopIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.plus-popup-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 11px 16px;
  border: none;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  transition: background 0.15s;
  text-align: left;
}
body.dark-mode .plus-popup-item { color: #e2e8f0; }
.plus-popup-item:hover {
  background: #f8fafc;
}
body.dark-mode .plus-popup-item:hover {
  background: #334155;
}
.plus-popup-item:not(:last-child) {
  border-bottom: 1px solid #f1f5f9;
}
body.dark-mode .plus-popup-item:not(:last-child) {
  border-bottom-color: #334155;
}

/* Mobile: show + button, hide desktop buttons */
@media (max-width: 768px) {
  .mobile-plus-wrap { display: block !important; }
  .desktop-only-input { display: none !important; }
}
/* Desktop: hide + button, show desktop buttons */
@media (min-width: 769px) {
  .mobile-plus-wrap { display: none !important; }
  .desktop-only-input { display: inline-flex !important; }
}


/* ═══ PWA MOBILE INSTALL BANNER ═══ */
.pwa-mobile-banner {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding: 8px 12px;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  border-top: 2px solid #10b981;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.3);
  animation: bannerSlideUp 0.4s ease;
}

@keyframes bannerSlideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

.pwa-banner-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 600px;
  margin: 0 auto;
}

.pwa-banner-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #ff5e1e, #ff8a50);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.pwa-banner-text {
  flex: 1;
  min-width: 0;
}
.pwa-banner-text strong {
  display: block;
  color: #f8fafc;
  font-size: 13px;
  font-weight: 800;
}
.pwa-banner-text span {
  font-size: 11px;
  color: #94a3b8;
}

.pwa-banner-btn {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  border: none;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.4);
  transition: transform 0.15s;
}
.pwa-banner-btn:active {
  transform: scale(0.95);
}

.pwa-banner-close {
  background: none;
  border: none;
  color: #64748b;
  font-size: 16px;
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
}

/* Only show on mobile + not installed */
@media (max-width: 768px) {
  .pwa-mobile-banner.show { display: block; }
}

/* If PWA is already installed (standalone mode), never show */
@media (display-mode: standalone) {
  .pwa-mobile-banner { display: none !important; }
}


/* ─── PWA Mini Floating Button (after 1st dismiss) ─── */
.pwa-mini-btn {
  display: none;
  position: fixed;
  bottom: 80px;
  right: 14px;
  z-index: 9998;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 50%;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.45);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  animation: miniBtnPulse 2s infinite;
}
.pwa-mini-btn.show { display: flex; }

.pwa-mini-close {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  background: #ef4444;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

@keyframes miniBtnPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(16, 185, 129, 0.45); }
  50% { box-shadow: 0 4px 24px rgba(16, 185, 129, 0.7); }
}

/* Only on mobile */
@media (min-width: 769px) {
  .pwa-mini-btn { display: none !important; }
}
@media (display-mode: standalone) {
  .pwa-mini-btn { display: none !important; }
}


/* ═══ CHATGPT-STYLE MOBILE INPUT BAR v2 ═══ */

/* Mobile + button */
.m-plus-wrap { display: none; position: relative; flex-shrink: 0; }
.m-plus-btn {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1.5px solid #d1d5db; background: #fff; color: #64748b;
  font-size: 18px; cursor: pointer; display: flex;
  align-items: center; justify-content: center;
  transition: all 0.2s; line-height: 1;
}
body.dark-mode .m-plus-btn { background: #1e293b; border-color: #475569; color: #94a3b8; }
.m-plus-btn:hover, .m-plus-btn.active {
  border-color: #ff5e1e; color: #ff5e1e; transform: rotate(45deg);
}
.m-plus-popup {
  display: none; position: absolute; bottom: calc(100% + 8px); left: 0;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15); z-index: 500; min-width: 160px;
  animation: plusFade 0.15s ease;
}
body.dark-mode .m-plus-popup { background: #1e293b; border-color: #334155; }
.m-plus-popup.show { display: block; }
@keyframes plusFade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.m-plus-item {
  display: flex; align-items: center; gap: 8px; width: 100%;
  padding: 11px 16px; border: none; background: transparent;
  font-size: 14px; font-weight: 600; color: #334155; cursor: pointer;
  text-align: left; transition: background 0.15s;
}
body.dark-mode .m-plus-item { color: #e2e8f0; }
.m-plus-item:hover { background: #f8fafc; }
body.dark-mode .m-plus-item:hover { background: #334155; }
.m-plus-item:not(:last-child) { border-bottom: 1px solid #f1f5f9; }
body.dark-mode .m-plus-item:not(:last-child) { border-bottom-color: #334155; }

/* Desktop: separate buttons visible */
.d-only-inp { display: inline-flex !important; }

@media (max-width: 1024px) {
  /* Show + button, hide desktop buttons */
  .m-plus-wrap { display: block !important; }
  .d-only-inp { display: none !important; }

  /* ChatGPT-style compact input */
  .input-box-wrap {
    padding: 6px 8px !important;
    gap: 4px !important;
    border-radius: 22px !important;
  }

  /* Smaller mic button */
  .m-voice {
    width: 30px !important; height: 30px !important;
    font-size: 15px !important; border-radius: 50% !important;
    padding: 0 !important;
  }

  /* Compact send button */
  .m-send {
    width: 34px !important; height: 34px !important;
    font-size: 16px !important; border-radius: 50% !important;
    padding: 0 !important;
  }

  /* Textarea compact */
  .chat-textarea {
    padding: 6px 4px !important;
    min-height: 36px !important;
  }

  /* Input tools tighter */
  .input-tools { gap: 2px !important; }
}

/* ═══ COMPACT MESSAGE ACTIONS — Mobile (ChatGPT style) ═══ */
@media (max-width: 768px) {
  .msg-actions-extended {
    gap: 4px !important;
    margin-top: 8px !important;
    padding-top: 6px !important;
    justify-content: flex-start !important;
  }

  .btn-msg-act {
    font-size: 10px !important;
    padding: 3px 6px !important;
    border-radius: 4px !important;
    gap: 2px !important;
  }
}

/* ═══ ULTRA-COMPACT MSG ACTIONS — maximize content space ═══ */
@media (max-width: 768px) {
  .msg-actions-extended {
    gap: 3px !important;
    margin-top: 4px !important;
    padding-top: 4px !important;
  }
  .btn-msg-act {
    font-size: 9px !important;
    padding: 2px 5px !important;
    border-radius: 3px !important;
    gap: 1px !important;
    line-height: 1.3 !important;
  }
  /* Message bubble tighter */
  .msg-bubble {
    padding: 10px 12px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }
  .msg-bubble p { margin-bottom: 4px !important; }
  .msg-row { margin-bottom: 8px !important; }
}

/* ═══ COMPACT CHAT — Desktop cũng gọn như mobile ═══ */

/* Message actions: compact everywhere */
.msg-actions-extended {
  gap: 4px !important;
  margin-top: 6px !important;
  padding-top: 6px !important;
  justify-content: flex-start !important;
}

.btn-msg-act {
  font-size: 10.5px !important;
  padding: 3px 7px !important;
  border-radius: 4px !important;
  gap: 2px !important;
}

/* Message bubbles: tighter everywhere */
.msg-bubble {
  padding: 10px 14px !important;
  line-height: 1.55 !important;
}
.msg-bubble p { margin-bottom: 5px !important; }
.msg-row { margin-bottom: 10px !important; }

/* Input bar: cleaner */
.chat-input-bar {
  padding: 10px 16px 12px !important;
}

/* Controls bar compact */
.chat-controls-bar {
  margin-bottom: 4px !important;
}
.quick-chips-bar {
  margin-bottom: 4px !important;
}
.mode-btn {
  padding: 3px 9px !important;
  font-size: 10.5px !important;
}
.quick-chip-item {
  font-size: 10px !important;
  padding: 3px 7px !important;
}


/* ═══ Topbar install button (mobile only) ═══ */
.topbar-install-btn {
  display: none;
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
}
@media (max-width: 768px) {
  .topbar-install-btn { display: inline-flex !important; }
}
@media (display-mode: standalone) {
  .topbar-install-btn { display: none !important; }
}


/* ═══ SIMPLE ICON BUTTONS (works everywhere) ═══ */
.btn-skill-simple,
.btn-attach-simple {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: transparent;
  font-size: 17px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
  padding: 0;
  line-height: 1;
}
.btn-skill-simple:hover,
.btn-attach-simple:hover {
  background: rgba(0,0,0,0.06);
}
body.dark-mode .btn-skill-simple:hover,
body.dark-mode .btn-attach-simple:hover {
  background: rgba(255,255,255,0.08);
}
