/* 共用「AI 記帳助手」浮動元件樣式（由 accounting 頁抽出，供各會計相關頁共用）。
   純問答就地回答；要出分錄／切功能時帶回日記帳頁完成。 */
#ai-fab{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;background:transparent;box-shadow:none;z-index:300;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}
#ai-fab svg{width:58px;height:58px;filter:drop-shadow(0 5px 12px rgba(7,30,65,.30))}
#ai-fab:hover{transform:translateY(-2px) scale(1.07)}
#ai-fab:active{transform:scale(.95)}
#ai-fab.poke{animation:cfPoke .46s ease}
@keyframes cfPoke{0%{transform:scale(1)}30%{transform:scale(.82)}62%{transform:scale(1.12)}100%{transform:scale(1)}}
.cfo-face .ex{opacity:0;transition:opacity .28s ease}
.cfo-face:not([data-ex]) .ex-happy,.cfo-face[data-ex="happy"] .ex-happy,.cfo-face[data-ex="thinking"] .ex-thinking{opacity:1}
.cfo-face .ex-thinking .tb{animation:cfBubble 2.4s ease-in-out infinite}
.cfo-face .ex-thinking .tb2{animation-delay:.3s}.cfo-face .ex-thinking .tb3{animation-delay:.6s}
@keyframes cfBubble{0%,72%,100%{opacity:.3}22%,52%{opacity:1}}
@media (prefers-reduced-motion:reduce){.cfo-face .ex-thinking .tb{animation:none}#ai-fab.poke{animation:none}}
#ai-fab-panel{position:fixed;right:24px;bottom:94px;width:384px;max-width:calc(100vw - 32px);height:560px;max-height:78vh;background:var(--panel,#fff);border:1px solid var(--line,#e4e9f0);border-radius:22px;box-shadow:0 20px 54px rgba(16,36,58,.26);z-index:300;display:none;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .18s,transform .18s}
#ai-fab-panel.open{display:flex;opacity:1;transform:none}
.ai-fab-head{display:flex;align-items:center;gap:9px;padding:13px 15px;background:linear-gradient(140deg,#071E41,#14B8A6);color:#fff}
.ai-fab-head .hav{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ai-fab-head .hav svg{width:19px;height:19px}
.ai-fab-head .ht{flex:1;font-weight:700;font-size:14px;line-height:1.15}
.ai-fab-head .ht small{display:block;font-weight:400;font-size:10.5px;opacity:.9;margin-top:1px}
.ai-fab-head .x{background:rgba(255,255,255,.18);border:none;width:26px;height:26px;border-radius:50%;font-size:17px;cursor:pointer;color:#fff;line-height:1;flex:0 0 auto}
.ai-fab-head .x:hover{background:rgba(255,255,255,.32)}
#ai-fab-panel #ai-log{flex:1;overflow:auto;display:flex;flex-direction:column;gap:11px;padding:14px;background:var(--bg,#f4f6f9)}
.ai-row{display:flex;gap:8px;align-items:flex-end}
.ai-row.me{flex-direction:row-reverse}
.ai-row .av{width:27px;height:27px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--panel,#fff);border:1px solid var(--line,#e4e9f0)}
.ai-row.me .av{background:#0f766e;color:#fff;border:none}
.ai-bubble{max-width:80%;padding:9px 12px;border-radius:16px;font-size:13px;line-height:1.55;box-shadow:0 1px 2px rgba(16,36,58,.07);word-break:break-word}
.ai-row.ai .ai-bubble{background:var(--panel,#fff);border-bottom-left-radius:5px;color:var(--ink,#1a2635)}
.ai-row.me .ai-bubble{background:#14B8A6;color:#fff;border-bottom-right-radius:5px}
.ai-bubble .btn.sm{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;border-radius:8px;border:1px solid #14B8A6;background:#14B8A6;color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:none}
.ai-bubble .btn.sm:hover{filter:brightness(1.06)}
.ai-fab-input{display:flex;gap:7px;align-items:center;padding:10px 12px;border-top:1px solid var(--line,#e4e9f0);background:var(--panel,#fff)}
.ai-fab-input #ai-msg{flex:1;padding:10px 14px;border:1px solid var(--line,#cdd5e0);border-radius:999px;font-size:13px;outline:none;background:var(--panel-2,#f4f6f9);color:var(--ink,#1a2635);transition:border-color .12s}
.ai-fab-input #ai-msg:focus{border-color:#14B8A6}
.ai-fab-input #ai-send{width:36px;height:36px;border-radius:50%;border:none;background:#14B8A6;color:#fff;cursor:pointer;font-size:17px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0;transition:filter .12s}
.ai-fab-input #ai-send svg{width:18px;height:18px}
.ai-fab-input #ai-send:hover{filter:brightness(1.07)}
.ai-fab-hint{font-size:10.5px;color:var(--muted,#8a9fb5);line-height:1.5;padding:0 15px 10px;background:var(--panel,#fff)}
