@tailwind base;@tailwind components;@tailwind utilities;body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}#root{width:100%;height:100vh}html{scroll-behavior:smooth}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}.animate-slideIn{animation:slideIn .5s ease-out forwards}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#ea580c;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#c2410c}button,input,a{transition:all .2s ease-in-out}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.gradient-text{background:linear-gradient(135deg,#ea580c,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}button:focus-visible,input:focus-visible{outline:2px solid #ea580c;outline-offset:2px}.message-bubble{transition:all .3s cubic-bezier(.4,0,.2,1)}.message-bubble:hover{transform:translateY(-2px)}.recharts-surface{animation:fadeIn .6s ease-out}.custom-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;box-shadow:0 4px 6px -1px #0000001a}@media(max-width:768px){table{font-size:.875rem}th,td{padding:.5rem!important}}@media print{.no-print{display:none}body{background:#fff}}::selection{background:#fed7aa;color:#7c2d12}::-moz-selection{background:#fed7aa;color:#7c2d12}@keyframes dotPulse{0%,20%{opacity:0}40%{opacity:1}60%,to{opacity:0}}.dot-pulse{animation:dotPulse 1.5s infinite}.dot-pulse:nth-child(2){animation-delay:.2s}.dot-pulse:nth-child(3){animation-delay:.4s}button:active{transform:scale(.98)}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient{background-size:200% 200%;animation:gradientShift 15s ease infinite}
