
  #icf-dashly-box, #icf-dashly-btn {
    font-family: 'YekanBakh', 'IRANYekan', 'IRANSans', 'IRANSansX', 'Vazirmatn', Tahoma, sans-serif;
    direction: rtl;
  }

  @keyframes icfPulseStrong {
    0% { box-shadow: 0 0 0 0 rgba(255, 66, 0, 0.9); }
    70% { box-shadow: 0 0 0 25px rgba(255, 66, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 66, 0, 0); }
  }
  .icf-pulse { animation: icfPulseStrong 1.5s infinite !important; }

  @keyframes icfShakeAnim {
    0%, 85%, 100% { transform: rotate(0) scale(1); }
    88% { transform: rotate(-12deg) scale(1.1); }
    91% { transform: rotate(12deg) scale(1.1); }
    94% { transform: rotate(-12deg) scale(1.1); }
    97% { transform: rotate(12deg) scale(1.1); }
  }
  .icf-shake-icon { animation: icfShakeAnim 4s infinite ease-in-out; }


  #icf-dashly-btn {
    position: fixed !important; 
    bottom: 80px !important; 
    left: 20px !important;
    right: auto !important; 
    width: 60px; 
    height: 60px; 
    border-radius: 50%;
    background: #163459; 
    color: white;
    display: flex; 
    align-items: center; 
    justify-content: center;
    box-shadow: 0 10px 25px rgba(22, 52, 89, 0.4);
    cursor: pointer; 
    z-index: 999999; 
    transition: all 0.3s ease;
  }
  #icf-dashly-btn:hover {
    transform: translateY(-5px);
    background: #FF4200; 
    box-shadow: 0 12px 30px rgba(255, 66, 0, 0.4);
  }

  #icf-dashly-box {
    position: fixed !important; 
    bottom: 160px !important; 
    left: 20px !important;
    right: auto !important;
    width: 380px; 
    max-width: calc(100vw - 40px);
    height: 600px; 
    max-height: 85vh;
    background: rgba(255, 255, 255, 0.85); 
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(22, 52, 89, 0.2);
    display: none; 
    flex-direction: column;
    z-index: 999999; 
    overflow: hidden;
  }

  .icf-header {
    background: linear-gradient(135deg, #163459, #0063C9);
    color: white; 
    padding: 20px;
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  }
  .icf-avatar {
    width: 42px; 
    height: 42px; 
    background: rgba(255,255,255,0.15);
    border-radius: 50%; 
    display: flex; 
    align-items: center;
    justify-content: center;
  }
  #icf-close-btn {
    background: transparent; 
    border: none; 
    color: white;
    width: 36px; 
    height: 36px; 
    border-radius: 50%;
    cursor: pointer; 
    transition: 0.2s;
    display: flex; 
    align-items: center; 
    justify-content: center;
  }
  #icf-close-btn:hover { background: rgba(255,255,255,0.2); }

  .icf-body {
    flex: 1; 
    display: flex; 
    flex-direction: column;
    position: relative;
    overflow: hidden;
  }
  #icf-chat-history {
    flex: 1; 
    padding: 20px; 
    overflow-y: auto;
    display: flex; 
    flex-direction: column; 
    gap: 15px;
  }

  .icf-msg {
    max-width: 85%; 
    padding: 12px 16px; 
    font-size: 13px;
    line-height: 1.8; 
    animation: fadeIn 0.4s ease;
  }
  .icf-bot-msg {
    background: white; 
    color: #163459;
    border-radius: 18px 18px 4px 18px;
    align-self: flex-start;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border: 1px solid rgba(0, 99, 201, 0.1);
  }
  .icf-user-msg {
    background: rgba(0, 99, 201, 0.1); 
    color: #163459; 
    border-radius: 18px 18px 18px 4px;
    align-self: flex-end;
    font-weight: bold;
  }

  .icf-typing-indicator {
    display: flex; gap: 5px; padding: 15px 20px; background: white; 
    border-radius: 18px 18px 4px 18px; width: fit-content; align-self: flex-start;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06); border: 1px solid rgba(40, 69, 214, 0.15);
  }
  .icf-dot {
    width: 6px; height: 6px; background: #0063C9; border-radius: 50%;
    animation: icfTyping 1.4s infinite ease-in-out both;
  }
  .icf-dot:nth-child(1) { animation-delay: -0.32s; }
  .icf-dot:nth-child(2) { animation-delay: -0.16s; }
  @keyframes icfTyping { 0%, 80%, 100% { transform: scale(0); opacity: 0.5; } 40% { transform: scale(1); opacity: 1; } }

  .icf-options-container {
    padding: 15px 20px; 
    background: rgba(255, 255, 255, 0.6);
    border-top: 1px solid rgba(0, 99, 201, 0.1);
    display: flex; 
    flex-wrap: wrap; 
    gap: 8px;
  }
  .icf-chip {
    background: white; 
    border: 1px solid #0063C9; 
    color: #0063C9;
    padding: 8px 16px; 
    border-radius: 20px; 
    font-size: 12px;
    cursor: pointer; 
    transition: all 0.2s ease; 
    font-weight: bold;
    font-family: inherit;
  }
  .icf-chip:hover {
    background: #0063C9; 
    color: white; 
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 99, 201, 0.2);
  }
  .icf-back-chip { border-color: #FF4200; color: #FF4200; }
  .icf-back-chip:hover { background: #FF4200; color: white; box-shadow: 0 4px 10px rgba(255, 66, 0, 0.2); }

  @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
  #icf-chat-history::-webkit-scrollbar { width: 5px; }
  #icf-chat-history::-webkit-scrollbar-track { background: transparent; }
  #icf-chat-history::-webkit-scrollbar-thumb { background: rgba(22, 52, 89, 0.2); border-radius: 10px; }

  @media (max-width: 860px) {
    .icf-pulse { animation-iteration-count: 3 !important; }
    .icf-shake-icon { animation-iteration-count: 2; }
    #icf-dashly-btn { width: 52px; height: 52px; bottom: 16px !important; left: 12px !important; }
    #icf-dashly-box { bottom: 80px !important; left: 12px !important; }
  }

  @keyframes icfPulseSoft {
    0% { box-shadow: 0 0 0 0 rgba(255, 66, 0, 0.7); }
    70% { box-shadow: 0 0 0 12px rgba(255, 66, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 66, 0, 0); }
  }
  @media (max-width: 860px) {
    .icf-pulse { animation-name: icfPulseSoft !important; }
    .is-reading #icf-dashly-btn { opacity: 0; transform: translateY(18px); pointer-events: none; }
  }
