/* Smart Library AI Assistant */
.ai-assistant-shell{position:fixed;left:28px;bottom:28px;z-index:19000;font-family:inherit;direction:rtl}
.ai-assistant-toggle{width:64px;height:64px;border:0;border-radius:24px;background:linear-gradient(135deg,#0f4a42,#08332e);color:#fff;display:grid;place-items:center;box-shadow:0 22px 55px rgba(9,50,45,.28);cursor:pointer;transition:.25s ease;position:relative}
.ai-assistant-toggle:hover{transform:translateY(-3px) scale(1.02)}
.ai-assistant-toggle i{font-size:1.45rem}
.ai-assistant-pulse{position:absolute;inset:-8px;border-radius:30px;border:1px solid rgba(200,163,95,.42);animation:aiPulse 1.8s infinite}
@keyframes aiPulse{0%{transform:scale(.86);opacity:.8}100%{transform:scale(1.18);opacity:0}}
.ai-assistant-panel{position:absolute;left:0;bottom:82px;width:min(390px,calc(100vw - 34px));height:min(620px,calc(100vh - 130px));background:#fffdfa;border:1px solid rgba(15,74,66,.12);border-radius:30px;box-shadow:0 28px 90px rgba(9,50,45,.26);display:none;overflow:hidden}
.ai-assistant-shell.open .ai-assistant-panel{display:flex;flex-direction:column}
.ai-assistant-head{background:linear-gradient(135deg,#0f4a42,#08332e);color:#fff;padding:18px 18px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ai-assistant-title{display:flex;align-items:center;gap:12px}
.ai-assistant-avatar{width:46px;height:46px;border-radius:18px;background:rgba(232,203,141,.16);display:grid;place-items:center;color:#e8cb8d;flex:0 0 auto}
.ai-assistant-title strong{display:block;font-weight:1000;font-size:1rem}
.ai-assistant-title span{display:block;color:rgba(255,255,255,.76);font-weight:700;font-size:.82rem;margin-top:2px}
.ai-assistant-close{width:38px;height:38px;border:0;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.ai-assistant-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1;background:radial-gradient(circle at 0 0,rgba(200,163,95,.09),transparent 34%),#fffdfa}
.ai-msg{max-width:88%;padding:12px 14px;border-radius:18px;line-height:1.75;font-weight:750;font-size:.92rem;white-space:pre-wrap}
.ai-msg.bot{align-self:flex-start;background:#fff;border:1px solid rgba(15,74,66,.10);color:#183d38;border-bottom-right-radius:6px}
.ai-msg.user{align-self:flex-end;background:#0f4a42;color:#fff;border-bottom-left-radius:6px}
.ai-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ai-quick button,.ai-quick a{border:1px solid rgba(15,74,66,.12);background:#fff;border-radius:999px;padding:8px 11px;color:#0f4a42;font-weight:900;font-size:.82rem;text-decoration:none;cursor:pointer}
.ai-card-list{display:grid;gap:8px;width:100%}
.ai-card{background:#fff;border:1px solid rgba(15,74,66,.10);border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(9,50,45,.045)}
.ai-card strong{display:block;color:#083b35;font-weight:1000;margin-bottom:5px}
.ai-card p{margin:0;color:#66746f;font-weight:700;line-height:1.65;font-size:.86rem}
.ai-card a{display:inline-flex;margin-top:8px;color:#0f4a42;font-weight:1000;text-decoration:none}
.ai-assistant-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(15,74,66,.10);background:#fff}
.ai-assistant-form textarea{height:48px;max-height:92px;resize:none;flex:1;border:1px solid rgba(15,74,66,.16);border-radius:18px;padding:12px 14px;font-family:inherit;font-weight:800;outline:none;background:#fff}
.ai-assistant-form textarea:focus{border-color:rgba(200,163,95,.65);box-shadow:0 0 0 4px rgba(200,163,95,.10)}
.ai-assistant-form button{width:48px;height:48px;border:0;border-radius:17px;background:#0f4a42;color:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(9,50,45,.14)}
.ai-assistant-form button:disabled{opacity:.55;cursor:not-allowed}
.ai-typing{display:inline-flex;gap:4px;align-items:center}
.ai-typing i{width:6px;height:6px;border-radius:50%;background:#c8a35f;animation:aiTyping 1s infinite ease-in-out}
.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes aiTyping{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
@media(max-width:700px){.ai-assistant-shell{left:16px;right:16px;bottom:18px}.ai-assistant-toggle{margin-inline-start:auto;width:58px;height:58px;border-radius:22px}.ai-assistant-panel{left:0;right:0;width:auto;height:min(590px,calc(100vh - 110px));bottom:74px;border-radius:26px}.ai-msg{max-width:94%}}


/* AI assistant mobile refinement */
@media(max-width:700px){
  .ai-assistant-shell{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    z-index:22000!important;
  }
  .ai-assistant-panel{
    left:0!important;
    right:0!important;
    width:auto!important;
    height:min(76vh,620px)!important;
    max-height:calc(100vh - 132px)!important;
    bottom:72px!important;
    border-radius:24px!important;
  }
  .ai-assistant-head{
    padding:12px 14px!important;
  }
  .ai-assistant-avatar{
    width:38px!important;
    height:38px!important;
    border-radius:14px!important;
  }
  .ai-assistant-title strong{
    font-size:.92rem!important;
  }
  .ai-assistant-title span{
    font-size:.72rem!important;
    white-space:nowrap!important;
  }
  .ai-assistant-close{
    width:34px!important;
    height:34px!important;
    border-radius:12px!important;
  }
  .ai-assistant-body{
    padding:12px!important;
    gap:9px!important;
  }
  .ai-msg{
    font-size:.82rem!important;
    line-height:1.65!important;
    padding:10px 12px!important;
    max-width:92%!important;
  }
  .ai-quick{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    width:100%!important;
  }
  .ai-quick button,
  .ai-quick a{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
    padding:8px 8px!important;
    font-size:.78rem!important;
    line-height:1.35!important;
  }
  .ai-card{
    padding:10px!important;
    border-radius:16px!important;
  }
  .ai-card strong{
    font-size:.88rem!important;
  }
  .ai-card p{
    font-size:.78rem!important;
  }
  .ai-assistant-form{
    padding:9px!important;
    gap:8px!important;
  }
  .ai-assistant-form textarea{
    height:46px!important;
    max-height:78px!important;
    border-radius:18px!important;
    padding:10px 12px!important;
    font-size:.86rem!important;
  }
  .ai-assistant-form button{
    width:46px!important;
    height:46px!important;
    border-radius:16px!important;
    flex:0 0 46px!important;
  }
  .ai-assistant-toggle{
    width:58px!important;
    height:58px!important;
    border-radius:22px!important;
    margin-inline-start:auto!important;
  }
}
@media(max-width:380px){
  .ai-assistant-panel{
    height:min(72vh,560px)!important;
  }
  .ai-quick{
    grid-template-columns:1fr!important;
  }
}


/* AI assistant stable bottom/mobile layout */
.ai-assistant-shell.open .ai-assistant-toggle{
  opacity:.92;
}
.ai-assistant-form{
  align-items:center;
}
.ai-assistant-form textarea{
  overflow:hidden;
  line-height:1.45;
}
@media(max-width:700px){
  .ai-assistant-shell{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:100dvh!important;
    pointer-events:none!important;
    z-index:24000!important;
  }
  .ai-assistant-shell.open{
    pointer-events:auto!important;
  }
  .ai-assistant-panel{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    height:calc(100dvh - 12px)!important;
    max-height:none!important;
    border-radius:24px 24px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    box-shadow:0 -18px 70px rgba(9,50,45,.22)!important;
    transform:translateY(0)!important;
  }
  .ai-assistant-shell:not(.open) .ai-assistant-panel{
    display:none!important;
  }
  .ai-assistant-toggle{
    position:fixed!important;
    left:16px!important;
    bottom:16px!important;
    width:56px!important;
    height:56px!important;
    border-radius:20px!important;
    pointer-events:auto!important;
  }
  .ai-assistant-shell.open .ai-assistant-toggle{
    display:none!important;
  }
  .ai-assistant-head{
    min-height:64px!important;
    padding:12px 14px!important;
    flex:0 0 auto!important;
  }
  .ai-assistant-title{
    min-width:0!important;
  }
  .ai-assistant-title span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:240px!important;
  }
  .ai-assistant-body{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:12px 12px 10px!important;
  }
  .ai-assistant-form{
    flex:0 0 auto!important;
    align-items:center!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
    gap:8px!important;
    border-top:1px solid rgba(15,74,66,.10)!important;
    background:#fffdfa!important;
  }
  .ai-assistant-form textarea{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    line-height:22px!important;
    overflow:hidden!important;
    border-radius:16px!important;
    padding:10px 12px!important;
    font-size:.88rem!important;
  }
  .ai-assistant-form button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    flex:0 0 44px!important;
    border-radius:15px!important;
  }
}
@media(min-width:701px){
  .ai-assistant-panel{
    bottom:82px;
  }
}


/* AI assistant desktop stable bottom layout */
@media(min-width:701px){
  .ai-assistant-shell{
    left:28px!important;
    bottom:28px!important;
    width:auto!important;
    height:auto!important;
  }
  .ai-assistant-shell.open .ai-assistant-toggle{
    display:none!important;
  }
  .ai-assistant-panel{
    position:fixed!important;
    left:28px!important;
    bottom:22px!important;
    width:390px!important;
    height:min(560px, calc(100vh - 48px))!important;
    max-height:none!important;
    border-radius:30px!important;
    display:none;
  }
  .ai-assistant-shell.open .ai-assistant-panel{
    display:flex!important;
    flex-direction:column!important;
  }
  .ai-assistant-body{
    min-height:0!important;
    flex:1 1 auto!important;
    overflow-y:auto!important;
  }
  .ai-assistant-form{
    align-items:center!important;
    padding:9px 10px!important;
    gap:8px!important;
  }
  .ai-assistant-form textarea{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    line-height:22px!important;
    overflow:hidden!important;
    padding:10px 12px!important;
    border-radius:16px!important;
  }
  .ai-assistant-form button{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    flex:0 0 44px!important;
    border-radius:15px!important;
  }
}
