.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:#333;background-color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media screen and (max-width: 768px){html{font-size:14px}}a{color:#2196f3;text-decoration:none}a:hover{color:#1976d2}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.input-field{width:100%;padding:12px 16px;font-size:1rem;border:1px solid #e0e0e0;border-radius:8px;background-color:#fafafa;transition:all .2s ease;outline:none}.input-field:focus{border-color:#4caf50;background-color:#fff;box-shadow:0 0 0 3px #4caf501a}.input-field::placeholder{color:#999}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px #00000014;margin-bottom:16px}.page-container{min-height:100vh;padding:20px;max-width:1200px;margin:0 auto}.page-title{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:20px}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:40px}.loading-spinner:after{content:"";width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:40px 20px;color:#999}.empty-state i{font-size:48px;margin-bottom:16px;color:#ddd}.text-center{text-align:center}.text-right{text-align:right}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-1{flex:1}.gap-10{gap:10px}.gap-20{gap:20px}
