*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background-color:#f1f5f9;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}.page-centered{background:linear-gradient(135deg,#eef2ff 0%,#f1f5f9 50%,#faf5ff 100%)}button{transition:background-color .15s,transform .1s,box-shadow .15s,opacity .15s}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;font-weight:600}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.98);box-shadow:0 2px 6px #6366f140}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.input-field{background-color:#f8fafc;transition:border-color .15s,box-shadow .15s}.input-field:focus{background-color:#fff;border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #6366f11a}.input-field::placeholder{color:#94a3b8}.suggestion-btn{transition:all .15s}.suggestion-btn:hover{background-color:#eef2ff;border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 2px 8px #6366f11a}.toggle-link{transition:color .15s}.toggle-link:hover{color:#6366f1!important}@keyframes bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-bubble{animation:.25s ease-out messageIn}.card{transition:box-shadow .2s,transform .2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s ease-out fadeIn}.data-table-wrap{border:1px solid #e2e8f0;border-radius:8px;max-height:400px;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.4}.data-table thead{z-index:1;position:sticky;top:0}.data-table th{color:#475569;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 12px;font-weight:600}.data-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:7px 12px}.data-table tbody tr{transition:background-color .1s}.data-table tbody tr:hover{background-color:#eef2ff}.data-table tbody tr:last-child td{border-bottom:none}.messages-scroll::-webkit-scrollbar{width:6px}.messages-scroll::-webkit-scrollbar-track{background:0 0}.messages-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.messages-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}
