/* Guest Experience Intelligence — custom styles */
:root { --brand: #0284c7; }

* { -webkit-font-smoothing: antialiased; }
body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }

.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.nav-item { transition: all .15s ease; }
.nav-item.active { background: rgba(255,255,255,.12); color: #fff; border-left: 3px solid #38bdf8; }
.nav-item:not(.active):hover { background: rgba(255,255,255,.06); }

.card { background:#fff; border:1px solid #e2e8f0; border-radius:14px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.btn { display:inline-flex; align-items:center; gap:.5rem; font-weight:600; border-radius:10px; transition:all .15s; }
.btn-primary { background:#0284c7; color:#fff; }
.btn-primary:hover { background:#0369a1; }
.btn-ghost { background:#f1f5f9; color:#334155; }
.btn-ghost:hover { background:#e2e8f0; }

.badge { display:inline-flex; align-items:center; gap:.25rem; font-size:.7rem; font-weight:600; padding:.15rem .5rem; border-radius:999px; }
.badge-pos { background:#dcfce7; color:#166534; }
.badge-neu { background:#f1f5f9; color:#475569; }
.badge-neg { background:#fee2e2; color:#991b1b; }
.badge-urgent { background:#fef08a; color:#854d0e; }

.platform-google { color:#ea4335; }
.platform-booking { color:#003580; }
.platform-tripadvisor { color:#00aa6c; }
.platform-airbnb { color:#ff5a5f; }

.spinner { border:3px solid #e2e8f0; border-top-color:#0284c7; border-radius:50%; width:1.2rem; height:1.2rem; animation:spin .7s linear infinite; }
.spinner-lg { width:2.5rem; height:2.5rem; border-width:4px; }
@keyframes spin { to { transform: rotate(360deg); } }

.toast { background:#0f172a; color:#fff; padding:.75rem 1rem; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.2); font-size:.85rem; animation:fadeIn .2s ease; max-width:340px; }
.toast-error { background:#991b1b; }
.toast-success { background:#166534; }

/* markdown-ish rendering of AI text */
.ai-md h1,.ai-md h2,.ai-md h3 { font-weight:700; margin:.6rem 0 .3rem; }
.ai-md h2 { font-size:1.05rem; }
.ai-md ul { list-style:disc; padding-left:1.2rem; margin:.4rem 0; }
.ai-md ol { list-style:decimal; padding-left:1.4rem; margin:.4rem 0; }
.ai-md li { margin:.15rem 0; }
.ai-md p { margin:.4rem 0; }
.ai-md strong { font-weight:700; color:#0f172a; }
.ai-md code { background:#f1f5f9; padding:0 .25rem; border-radius:4px; }

::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:8px; }
::-webkit-scrollbar-thumb:hover { background:#94a3b8; }
