@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:#333}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in}.btn{transition:all .2s ease}.btn:hover{transform:translateY(-1px)}.card{transition:all .3s ease}.card:hover{box-shadow:0 8px 25px rgba(0,0,0,.15)}.table th{font-weight:600;border-top:none}.table-hover tbody tr:hover{background-color:rgba(0,123,255,.05)}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.alert{border:none;border-radius:8px}.badge{font-weight:500}.modal-content{border:none;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.navbar{box-shadow:0 2px 10px rgba(0,0,0,.1)}.navbar-brand{font-weight:700}.sidebar{box-shadow:2px 0 10px rgba(0,0,0,.1)}.chart-container{position:relative;margin:auto}@media (max-width:768px){.container{padding-left:15px;padding-right:15px}.card-body{padding:1rem}.table-responsive{font-size:.875rem}}@media print{.btn,.navbar,.no-print,.sidebar{display:none!important}.card{border:1px solid #ddd!important;box-shadow:none!important}}.btn:focus,.form-control:focus,.nav-link:focus{outline:2px solid #007bff;outline-offset:2px}.spinner-border{border-width:.2em}.text-truncate-2{-webkit-line-clamp:2}.text-truncate-2,.text-truncate-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.text-truncate-3{-webkit-line-clamp:3}.slide-in-left{animation:slideInLeft .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}