.ai-only[hidden], #ai-panel[hidden], #ai-launcher[hidden] { display:none!important; }
.ai-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #bae6fd; border-radius:10px; padding:9px 12px; color:#0284c7; background:#f0f9ff; font-size:12px; font-weight:600; cursor:pointer; }
.ai-button:hover { background:#e0f2fe; }.ai-button:disabled { opacity:.5;cursor:wait; }
.dark .ai-button { background:#0c4a6e44;border-color:#075985;color:#7dd3fc; }
.ai-toolbar { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px; }
#ai-launcher { position:fixed;bottom:24px;right:24px;z-index:35;background:#0ea5e9;color:white;border-radius:16px;padding:13px 18px;box-shadow:0 8px 24px #0284c733;display:flex;gap:8px;align-items:center;font-size:13px; }
#ai-panel { position:fixed;inset:0 0 0 auto;width:min(460px,100%);z-index:60;display:flex;flex-direction:column;background:#fff;color:#1e293b;border-left:1px solid #e2e8f0;box-shadow:-12px 0 45px #0f172a20; }
.dark #ai-panel { background:#0f172a;color:#e2e8f0;border-color:#334155; }
.ai-header { display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e2e8f0; }.dark .ai-header { border-color:#334155; }
.ai-header h2 { font-weight:700;display:flex;gap:8px;align-items:center; }.ai-header p { font-size:11px;color:#64748b;margin-top:4px; }
.ai-close { padding:8px;border-radius:8px; }.ai-close:hover { background:#e2e8f055; }
.ai-mode { margin:12px 16px 0;padding:9px 12px;border-radius:8px;font-size:11px;background:#eff6ff;color:#0369a1; }.dark .ai-mode { background:#0c4a6e55;color:#7dd3fc; }
.ai-controls { display:flex;gap:7px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #e2e8f0; }.dark .ai-controls { border-color:#334155; }
.ai-context { margin:0 16px 8px;color:#64748b;font-size:11px; }
#ai-messages { flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px; }
.ai-message { background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:13px;font-size:13px;line-height:1.8; }.dark .ai-message { background:#1e293b;border-color:#334155; }
.ai-message-user { background:#f0f9ff; }.dark .ai-message-user { background:#0c4a6e55; }
.ai-message-title { font-size:11px;font-weight:600;color:#0284c7;margin-bottom:7px; }
.ai-text { white-space:pre-wrap;overflow-wrap:anywhere; }
.ai-warning { margin-top:10px;background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:7px;padding:8px;font-size:11px;line-height:1.6; }.dark .ai-warning { background:#78350f55;color:#fcd34d;border-color:#92400e; }
.ai-message-actions { display:flex;gap:7px;flex-wrap:wrap;margin-top:10px; }.ai-message-actions button { font-size:11px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px; }.dark .ai-message-actions button { border-color:#475569; }
.ai-compose { padding:14px 16px;border-top:1px solid #e2e8f0; }.dark .ai-compose { border-color:#334155; }
.ai-compose label { display:block;font-size:11px;color:#64748b;margin-bottom:8px; }.ai-compose-row { display:flex;align-items:flex-end;gap:8px; }
#ai-question,#ai-lab-values { width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:9px;background:transparent;resize:vertical;font:inherit;font-size:13px; }
.ai-compose small { display:block;color:#64748b;font-size:10px;margin-top:8px; }
.ai-labs { padding:12px 16px; }.ai-labs summary { font-size:12px;color:#0284c7;cursor:pointer; }.ai-labs label { font-size:10px;display:block;color:#64748b;margin:8px 0; }
.ai-skeleton { display:flex;gap:8px;align-items:center;color:#64748b;font-size:12px; }
.ai-spinner { display:inline-block;width:14px;height:14px;border:2px solid #bae6fd;border-top-color:#0ea5e9;border-radius:50%;animation:ai-spin .8s linear infinite; }
@keyframes ai-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .ai-spinner { animation:none; } }
@media(max-width:600px) { #ai-launcher { bottom:15px;right:15px; }.ai-header { padding:14px; } }
